Android性能影响点

Android 性能直接影响着用户使用Android手机的直观体验,下面简单说明几个显著的影响点。

一、过度绘制

过度绘制,是指页面展示中,重复的绘制多个View。一般由以下几个方面。

  • 重复设置背景

最常出现的就是已经在主题中设置了theme,Activity的布局中再次重复设置theme;还有一种常见的情况是父容器中设置了背景,子view中又重新设置了一遍,导致父容器的背景没使用,但是却需要绘制渲染。比如控件实现自己的效果,但是不符合要求,使用该控件后,再次设置各类属性。

  • 不显示的view,使用invisible,而非gone;加载而不显示(不如直接不加载)

常用工具:

android设置开发者模式-调用过度绘制,看颜色即可查看过度绘制情况,颜色越深,过度绘制越严重。

二、布局层次过深

有以下几个方面:

  • 不必要的父容器,多个Layout的套用;
  • view层级太深,view太多;
  • 嵌套使用weight,尽量少用weight属性;
  • layout的不恰当使用,少使用RelativeLayout,可适当使用<include/>标签重用Layout

三、丢帧

  • 与硬件强关联,避免出现频繁的升降频率;
  • 数据处理,超过16ms,或者非16ms的整数倍

常用的分析工具:

  • Hierarchy Viewer:观察UIs 上的Overdraw情况
  • Android Lint:google静态代码检查
  • systrace

版权声明:本文为u011281810原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。