Android的性能优化方法
1. 布局优化
- 使用<include>标签、<merge>标签、
- <ViewStub>控件
- 复杂布局使用<RelativeLayout>,避免使用<LinearLayout>过多的布局嵌套
2.绘制优化
- onDraw()方法中不执行大量耗时操作
3.内存泄漏优化
- 静态变量导致的内存泄漏
- 单例模式导致的内存泄漏
- 属性动画导致的内存泄漏
4.响应速度优化和ANR日志分析
5.ListView、GridView和Bitmap优化
- 不在getView()中执行耗时操作,使用ViewHoler来重用View,可考虑开启硬件加速使滑动更加流畅
- Bitmap使用Bitmap.Factory.Options来对图片进行大小、采样处理
6.线程优化
- 使用线程池来避免开启过多的线程造成抢夺资源导致线程阻塞
7.一些小技巧
- 不要创建过多的对象
- 不要过多使用枚举
- 常量使用static final来修饰
- 适当使用软引用或弱引用
- 采用内存缓存和磁盘缓存
- 尽量采用静态内部类,这样可以避免潜在的由于内部类而导致的内存泄漏
内存泄漏分析之MAT工具
提高程序的可维护性
- 命名要规范,要能正确的表达处变量或方法的含义,少用缩写。
- 代码的排版上需要留出合理的空白来区分不同的代码块,其中同类变量的声明要放一组,两类变量之间要留出一行空白来区分。
- 仅为非常关键的代码添加注释