iOS性能检测全家桶 - 全部实测
iOS性能检测全家桶
趁放假前把iOS性能相关的全部内容都在自家App(影秀城)上摸了一遍,每个方面都写了总结,保证是我亲自实测过。
如何学习iOS性能检测
性能检测是每个iOS工程师知识图谱上必须要掌握的一项技能。实际上在前人的基础上,要掌握这部分内容已经很简单了。分三个层面
第一层:你能熟练使用文章里提到的工具来检测App的问题,不要等问题发生了在去做准备。
第二层:能在实际项目中用工具发现并解决问题。
第三层:知道这些工具实现的原理,并能和自己的开发流程无缝对接到一起。关于这点可以看美团的一篇技术文章《移动端性能监控方案Hertz》
美团是如何把自己的性能检测工具Hertz运用到开发期、测试期、线上期。特别是线上期,可以做到通过大数据发现问题,进行预警,再拉取某个用户的行为日志,或控制打开详细日志,真是太强大了。
iOS性能问题:从发现到解决
1,如何定量性能问题这个是难点:比方关于耗电性能的定量,直到2017年底,一个腾讯工程师才发现了精准的方法。
2,需要工具的帮助去解决问题:比方App瘦身的问题,问题很容易看出来;但要靠人力排查哪些是否无用资源,那就麻烦了。这时要采用工具帮忙了。
3,需要了解些底层原理,才能知道如何采集性能相关信息:比方冷启动、网络性能、卡顿的检查。
4,性能数据上线&数据可视化:我推荐看看美团文章。(上面留过链接)当然我们也可以直接用现成的OneAPM。
5,无侵入式打点:通过AOP方式,加入性能检测点。
关于iOS性能检测的发展
移动端性能检测(简称APM)盛起于2016年,结束于2017年末。大家查相关文章就可以发现这样的规律。鼎盛期间,各个大厂都开发、开放了自己的APM平台。估计那个时候大厂都觉得这是一块热点,想部署个制高点。到现在neteasaAPM登录不进去、bugly2018年没有更新、OneAPM还在运行,但也不更新了(用起来还不错)。
我想了下可能的原因,
1,通过2016年、2017年两年,完成了技术挖掘&产品成熟化。成熟了,定型了,技术都突破了,没什么可以研究讨论的了。
2,小厂对于APM并不关注,产品现能推向市场再说,能活下来再说。很少有App最后走到需要进行性能优化阶段。
3,移动端App的红利结束,这个就不用解释了。
4,小厂App量上不去,去看看App Store排行榜上的前300名App就知道了,都被大厂垄断了。
我的思考&下一步
1,用不到一周的时间就把这部分内容全部过了一遍,很快。主要是借助了前人的总结。
2,把检测的底层原理再梳理一遍。
3,根据检测结果把影秀城App进一步优化下,特别是卡顿问题。
4,与你们多交流:如果你们有类似找我交流。