最好的优化其实就是代码的优化
高质量的代码才能有高效的运行
- 数据结构的选择(ArrayList LinkedList HashMap HashSet之类)
- 正确使用Context(单例模式的时候需要注意使用context)
- java的四种引用方式
- 内部避免使用getter和setter
图片优化
android平台支持的图片格式 JPEG PNG GIF BMP WebP(4.0以上),但是能够使用的编解码格式只有三种,在Bitmap里面
public static enum CompressFormat {
JPEG,
PNG,
WEBP;
private CompressFormat() {
}
}
- JPEG是一种广泛使用的有损图像标准格式,不支持透明和多帧,可以通过控制压缩比来控制图片大小
- PNG无损压缩支持完整的透明通道,PNG是无损的所以占用的体积比较大
- GIF支持多帧
- WebP支持有损和无损压缩也支持透明通道,也支持多帧。质量和大小都可以保证
优化
- 主要是压缩图片(ImageOptim ImageAlpha TinyPNG)
- PNG/JPEG => WebP
耗电量优化
- 广播不需要的时候就停掉
- 网络请求 合并请求 避免轮询
- 位置服务
布局优化
- include标签共享布局
- ViewStub标签实现延时加载
- Lint
网络优化
- 避免DNS解析
- 合并网络请求
- 网络集中请求(避免经常性的唤醒和空闲)
- 不同的网络环境(2G,3G,Wi-Fi)使用不同的超时策略
Nothing is certain in this life. The only thing i know for sure is that. I love you and my life. That is the only thing i know. have a good day