【学习笔记】Android性能优化----->布局优化
1.AndroidUI渲染机制 人眼所感觉的流畅画面,需要画面的帧数达到40帧每秒到60帧每秒 在Android中,系统通过VSYNC信号触发对UI的渲染/重绘,其间隔时间是16ms,这个16ms其实就是1000ms中 显示60帧画面的单位时间,即1000/60 如果系统每次渲染的时间都保持在16ms之内,那我们看见的UI界面将是非常流畅的 但这也就需要将所有程序的逻辑都保证在16ms之内 如果不能在16ms内完成绘制,那么就会造成丢帧现象,即当前该重绘的帧被未完成的逻辑阻塞 例如一次绘制任务耗时20ms,那么在16ms系统发出VSYNC信号时就无法绘制,该帧就被丢弃,等待下次信号才开始绘制, 导致16*2ms内都显示同一帧画面,这就是画面卡顿的原因 Android系统提供了检测UI渲染时间的工具,打开“开发者选项”,选择“Profile GPU Rendering”, 并选中“On screen as bars”的选项,这时候在屏幕上将显示一些条形图。 每一条柱状线包含三部分:蓝色代表测量绘制Display List的时间,红色代表OpenGL渲染Display List所需要的时间, 黄色代表CPU等待GPU处理的时间。 中间的绿色横线代表VSYNC时间16ms,需要尽量将所有条形图都控制在这条绿色之下。 2.避免Overdraw Overdraw,过度绘制会浪费很多的CPU