1、布局优化
<include>标签主要用于布局重用,<merge>标签一般和<include>配合使用降低减少布局的层级,ViewStub则提供按需加载的功能,当需要时才会将ViewStub中的布局加载到内存,提供了程序的初始化效率。
<include>标签只支持android:layout开头的属性
2、绘制优化
绘制优化是指View的onDraw方法要避免执行大量的操作,这主要体现在两个方面:
a、onDraw中不要创建新的局部对象。因为onDraw方法可能会被频繁调用,这样就会在一瞬间产生大量的临时对象。
b、onDraw方法中不要做耗时的任务。因为这会造成View的绘制过程不流畅。
3、响应速度
Android规定,Activity如果5秒钟之内无法响应屏幕触摸时间或者键盘输入事件就会出现ANR,而BroadcastReceiver如果10秒钟之内还未执行完操作也会出现ANR。
4、ListView的优化
采用ViewHolder并避免在getView中执行耗时操作;
根据列表的滑动状态来控制任务的执行频率,比如当列表快速滑动时显然不适合开启大量的异步任务;
尝试开启硬件加速来使ListView的滑动更加流畅。
ListView的优化适用于GridView。
5、其他优化
Bitmap的优化主要通过BitmapFactory.Options来根据需要对图片进行采样。