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