Android UI卡顿

app UI卡顿原因是在运行时出现了丢帧,以及UI线程被阻塞。
首先来一下丢帧现象,android每16ms会对界面进行一次渲染,如果app的绘制、计算等超过了16ms那么只能等下一个16ms才能进行渲染,这就发生了丢帧现象。

手机卡顿出现的原因:

1,布局过于复杂:xml布局文件可能存在深层嵌套或者组件过多;(优化布局,使用ConstraintLayout)

2,重复绘制:一个界面的某一点可能在同一时间进行了多次绘制;(检查重复绘制,通过开发者选项可以查看)

3,内存抖动:系统内存是有限的,系统经常会将不活跃的进程置入外存中就是常说的虚拟内存,当调用它时再把它从外存转入内存,内存外存转换频率过大就会导致内存抖动;

4,性能瓶颈: 任务过多且执行调度不够好,手机性能落后;

5,历史原因,老代码以及设计问题导致重复代码,和布局没有更好的复用和优化;

6,团队人众多员 ,存在过多的代码合并和插入问题;

7,写的代码太乱,没有合理的封装,使用过多的静态

卡顿优化解决方案:

1,减低布局的复杂度;

2,单线程任务不要太多;

3,适当调度;

4,将一些计算分担给服务器端。

    原文作者:行者_zm
    原文地址: https://www.jianshu.com/p/87f468b1675e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞