- 图片的.9处理(这个要前端做图片的时候配合)
- 服务端可以实现的,就不要放在客户端
- 引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大
- 超大子Bitmap(如广告,欢迎页面图片)及时的销毁(Activity的onDestroy时,将bitmap回收)
- 低端机器采用(如何判定?)RGB_565
- 使用WeakReference代替强引用,弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存,前提该对象创建便宜。
- 使用SparseArray<E>S,parseIntArray,SparseBooleanArray来替代某些特定的HashMap<Integer, E>
- 同一时间执行多种耗时操作,可以考虑延时执行一些后台操作,比如统计数据,写数据库等,延时执行方法
内存速度优化
原文参考: Performance Tips
译文参考: Android应用开发者指南:性能优化(1)
- 避免创建不必要的对象(废话)
- 用静态代替虚方法,不需要访问某对象的字段,将方法设置为静态
- 避免内部的getters/setters,直接访问对象属性(能公开的属性设为Public)
- 对常量使用static final修饰符(也是废话)
- 使用改进的For循环语法,就是是用for(Foo:foo mArray){...}这样的写法
- 合理利用浮点数,能用整形用整形
- 在私有内部内中,考虑用包访问权限替代私有访问权限,对非API接口方法
布局优化
(原文参考: ImprovingLayout Performance)
- 尽量减少Android程序布局中View的层次,View层次越多,效率就越低
- 使用<include/>复用布局
- 使用ViewStub懒加载布局 ( Android布局技巧:使用ViewStub提高UI性能)
- 使用ViewHolder、Thread使ListView滚动更加流畅
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)