性能对于 App 来说就像汽车的发动机一样, 对产品质量起着决定性作用一下是开发 Android 过程中对性能优化的总结:
少用 static, 生命周期太长
根据当前分辨率压缩 bitmap,bitmap 用完 recycle, 使用 LRU cache 缓存 bitmap
注意 context 的使用, 尽量用 application 代替 activity 的 context
记住不用要资源关闭(BraodcastReceiver,ContentObserver,File,Cursor,Stream,Bitmap)
耗时操作算法开启线程
系统不足时主动释放资源
leaknanery 泄露工具, 检测内存泄露
不创建多的 string 对象而使用 Stringbuffer
复杂算法尽量用 C 完成
减少不必要的全局变量
尽量避免 static 成员变量引用资源耗费过多的实例, 比如 Context
Android 提供了很健全的消息传递机制 (Intent) 和任务模型(Handler), 可以通过传递或事件的方式, 防止一些不必要的全局变量
可使用 Java 四种强软弱虚引用方式减少内存消耗
避免使用枚举, 会牺牲速度, 尽量用常量代替
避免滥用 Bitmap 导致的内存浪费
时刻谨记避免创建不必要的对象, 特别尽量少地在循环中创建对象
尽量减少布局层级
加载大图片记得要裁图, 减小图片尺寸, 节省流量
内存是在不够的, 可申请大内存 , 在 < application > 标签中, 把 largeHeap 设置为 true, 提高最大内存上限
来源: http://www.jianshu.com/p/26626c6196fc