1.代码优化
数据结构的选择;
Handler内部类的正确使用,使用静态的Handler弱引用;
正确的使用Context;
Java的四种引用方式使用;
避免不必要的对象创建,最好重用一创建的对象;
常量使用static final修饰;
避免在类的内部调用get和set方法;
2.图片优化
图片压缩;
尽量使用.9.png图片;
图片缓存;
3.电量优化
在应用退到后台时禁用广播接收器;
应用位于后台是禁用某些数据传输,控制数据传输频率,数据传输过程中压缩数据大小合并网络请求,避免轮循;
及时注销位置监听服务,如定位;
不需要唤醒功能时及时取消屏幕唤醒(AlarmManager);
不需要唤醒功能时及时取消保持唤醒(WakeLock);
4.布局优化
使用include共享布局;
使用ViewStub延迟加载,不显示不绘制;
使用merge减少布局层次;
当有ImageView和TextView相邻时可以使用TextView的drawableTop,drawableRight,drawableLeft,和drawableBottom加载图片资源;
5.网络优化
避免DNS解析;
合并网络请求;
预选获取数据;
避免轮询请求接口;
优化重连机制;
离线缓冲数据;
压缩数据大小,客户端可以使用gzip压缩压缩发送给服务端的数据;
不同的网络环境使用不同的超时策略;
CDN(内容分发网络)的使用,她的基本思想是尽可能的避开网络上影响数据传输稳定性的环节;