今天我们来学习下 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

更多相关文章

  1. Android(安卓)自定义View(一)可拖动圆环刻度条
  2. Android(安卓)L中水波纹点击效果的实现
  3. Android内存(内存溢出 内存不足 内存低 .)优化详解
  4. Android(安卓)内存泄露与优化,以及MAT工具
  5. Android(安卓)NDK 之NEON优化
  6. Android中圆形图的几种实现方式
  7. Android绘制(三):Path结合属性动画, 让图标动起来!
  8. 【凯子哥带你学Android】Andriod性能优化之列表卡顿——以“简书
  9. Fatal signal 11 (SIGSEGV), code 1, fault addr 0x34 in tid 75

随机推荐

  1. Android(安卓)在webview中设置代理
  2. Android(安卓)Unity Plugin 开发指南(转
  3. react-native目录分析
  4. Android_adb shell am/pm使用
  5. android Textview设置单行显示,多余的显示
  6. 给APK文件签名
  7. okhttp源码分析
  8. Android(安卓)Studio 下自动注释(自定义作
  9. 学习笔记:基于OpenCV的Android拍照功能的
  10. 如何在Android项目中配置BuildConfig常量