Android UI卡顿面试知识小结

今天我们来学习下 Android 中 UI卡顿方面的知识,UI卡顿的原理、UI卡顿的原因分析、UI卡顿的优化。

一、UI卡顿的原理

1、Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染;

2、View的绘制帧数每秒保持60fps最佳,这要求每帧的绘制时间不超过16ms(1000/60),如果安卓不能在16ms内完成界面的渲染,那么就会出现丢帧卡顿现象;

二、UI卡顿的原因分析

1、在UI线程中做轻微的耗时操作,导致UI线程卡顿;

2、布局Layout过于复杂,无法在16ms内完成渲染;

3、同一时间动画执行的次数过多,导致CPU和GPU负载过重;

4、View过度绘制,导致像素在同一帧的时间内被绘制多次,使CPU和GPU负载过重;

5、View频繁的触发measure、layout,导致measure、layout累计耗时过多和整个View频繁的重新渲染;

6、频繁的触发GC操作导致线程暂停,导致暂时阻塞渲染操作;

7、冗余资源及逻辑等导致加载和执行缓慢;

8、ANR;

三、UI卡顿的优化

1、布局优化 :

  • 使用include、ViewStub、merge标签;
  • 减少布局的嵌套、去除冗余的布局;
  • 使用自定义View取代复杂的嵌套布局,减少mesure、layout的耗时操作。

2、ListView优化

  • 复用convertView;
  • 滑动不加载图片,更新UI;

3、背景和图片优化

  • 减少不必要的背景设置;
  • 图片压缩处理显示;

4、避免ANR

四、实践

Android UI性能优化实战 识别绘制中的性能问题

Android UI性能优化 检测应用中的UI卡顿

参考资料:
http://blog.csdn.net/qq_30379689/article/details/73698192

你可能感兴趣的:(android-面试,android)