布局
- 在布局没有嵌套的情况下优先选择性能较高的布局,例如LinearLayout、FrameLayout等
- 在单一控件无法完成的情况下优先选择RelativeLayout而不是采用嵌套布局方案
- 适当的使用<include>、<merge>和<ViewStub>等标签
绘制
- 由于onDraw方法可能会被频繁调用,所以不建议在onDraw方法中创建新的布局对象
- 尽量避免在OnDraw方法中做耗时操作和有大量循环次数的循环操作
避免内存泄露
- 合理使用静态变量,注意静态变量的引用对象
- 合理构造和使用单利类
- 无限循环的属性动画一定要被停止
避免ANR
- 禁止在主线程中做耗时操作
关注ListView和Bitmap的优化
优先考虑线程池,尽量避免使用Thread
其他优化
- 避免创建过多的对象
- 避免过多的使用枚举
- 常量请用static final修饰
- 尽量使用Android特有的数据类型
- 适当使用软引用和弱引用
- 采用内存缓存和磁盘缓存
- 尽量采用静态内部类