性能优化----UI绘制优化(2)

一、CPU与GPU工作流程

二、过渡绘制(主要减少GPU工作量)

1、查看方法:开发者选项>>>>Profile GPU rendering/调试GPU过渡绘制
处理方案:

1、减少背景重复
  1.1、注意主题中的设置 
           1.1.1、去掉单个activity的主题设置的属性(可以在setContntView之前getWindow().setBackgroundDrawable(null);)
           1.1.2、去掉所有activity主题设置中的属性(直接在styles.xml中设置<item name="android.windowBackground">@null<item>)
  1.2、非业务需要,不要去设置背景

2、使用裁减减少控件之间的重合部分  android7.0之后系统做出的优化>>>>>invalidate()不再执行测量和布局动作

布局的优化(主要减少CPU工作量)

1、常用工具

1、Android/sdk/tools/bin/ui    automator   viewer.bat
2、Android\sdk\tools\monitor.bat
3、Device Monitor窗口中Hierarchy view
  3.1、三个点也是代表着View的Measure, Layout和Draw。
       绿: 表示该View的此项性能比该View Tree中超过50%的View都要快;例如,代表Measure的是绿点,意味着这个视图的测量时间快于树中的视图对象的50%。
       黄: 表示该View的此项性能比该View Tree中超过50%的View都要慢; 
       红: 表示该View的此项性能是View Tree中最慢的;。

4、注意点:

1.能在一个平面显示的内容,尽量只用一个容器
2.尽可能把相同的容器合并merge
3.能复用的代码,用include处理,可以减少GPU重复工作
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。