关于作者
郭孝星,程序员,吉他手,主要从事Android平台基础架构方面的工作,欢迎交流技术方面的问题,可以去我的Github提issue或者发邮件至[email protected]与我交流。
提笔(好像是键盘,不要在意这些细节🙃)写到性能优化这个专题,我的内心是复杂的,笔者的整个性能优化的经验史就是从Android入门开始一路走来摸爬滚打的过程,在性能优化这个专题上,不管是官方 还是开发者都给出了很多宝贵的实践经验,这篇文章就是结合前人的经验以及自己这几年工作的总结来写的,笔者尽可能的将原理讲的更通透,内容讲的更充实,方法讲的更有实践性。
本篇文章是以我司应用大风车为样本来分析的,随着业务的发展,大风车也变成了一个巨大体量的应用。
优化原则
- 持续测量:与性能相关的数据都需要通过工具获取,用眼睛去观测不是一个好方法(这里面可能带有主观意愿),但是工具获取的数据信息却不会说谎。
- 低配设备:与性能相关的测试主要应该覆盖低配机型,这样才能把性能问题暴露的更明显。
- 权衡利弊:性能优化的问题事实上是权衡的问题,当你优化了一个东西,可能损害了另一个东西,优化也不是绝对的,要做好取舍。
性能指标
- 启动速度
- 布局流畅度与响应速度
- 内存占用
- 网络流量
- 程序执行效率