性能优化-- UI绘制优化

98 阅读1分钟

过度绘制优化(主要减少GPU工作量)

查看方法

开发者选项-》Profile GPU rendering/调试GPU过度绘制

处理方案

1.减少背景重复

注意主题中的设置,非业务需要,不要去设置背景

  • 去掉单个activity的主题设置的属性 可以在setContentView之前getWindow().setBackgroundDrawable(null);
  • 去掉所有activity主题设置中的属性,直接在styles.xml中设置@null

2.使用裁减减少控件之间的重合部分

布局优化

常用工具

  • Android/sdk/tools/bin/ui automator viewer.bat

  • Android\sdk\tools\monitor.bat

  • Device Monitor窗口中Hierarchy view

三个点也是代表着View的Measure, Layout和Draw。 绿: 表示该View的此项性能比该View Tree中超过50%的View都要快;例如,代表Measure的是绿点,意味着这个视图的测量时间快于树中的视图对象的50%。 黄: 表示该View的此项性能比该View Tree中超过50%的View都要慢; 红: 表示该View的此项性能是View Tree中最慢的;

注意点:

1.能在一个平面显示的内容,尽量只用一个容器 2.尽可能把相同的容器合并merge 3.能复用的代码,用include处理,可以减少GPU重复工作