android app启动耗时分析
温馨提示:这篇文章已超过1122天没有更新,请注意相关的内容是否还可用!
当一款app在打开的时候,它的启动耗时过长的话,无论你的app里面的内容多么丰富有趣,用户也是没有耐心去等待的。如果我是用户,我会有一系列的想法,这哪个公司出的app呀,怎么这么垃圾,再等2s不进来就卸载;黑人问号???还真是垃圾,还没出来;随后就会有一波操作,长按拖拽卸载,一套带走,直接关进小黑屋~
app启动耗时过长从个人层面讲,是对研发人员能力的否定;从公司层面讲,就是对该公司的否定;比如,这家公司出的app很垃圾,其他产品也不会优先选择。由此可见,app启动耗时决定着它的第一体验,所以对于app启动耗时的分析就显得尤为重要了。
之前我参与开发过一款App,启动大概要花费8s,不是忽悠,是真的有这么久。那么,就以这个项目为例,简单分析一波App启动耗时。
工欲善其事,必先利其器。推荐给大家的是友盟U-APM性能检测工具;它能让你知道时间花在哪里了,有没有东西卡UI。
我们可以使用友盟的慢启动分析功能,该功能可以清楚看到哪些方法里产生了耗时操作:首先,打开启动设置页面,设置冷启动和热启动阈值(如下图),启动时间超出设置的阈值视为慢启动:
设置好之后,页面会自动刷新,可以查看慢启动次数及慢启动耗时时间,,同时展示慢启动列表,
点击慢启动列表进入慢启动详情页面,由于之前做了埋点设置,慢启动详情页面可以查看具体的耗时时间,如图:
把鼠标悬浮到绿色的长条上,会出现更详细的耗时信息,发现因为主线程你出现了耗时操作,怪不得会这么卡
接着,到项目中去看CacheManager里这个isCache确实是个耗时的操作,我们就把它放到子线程中进行,一下节省不少时间...
总结
友盟U-APM是一个非常强大的应用性能分析工具,可以很好的帮助开发者实时定位问题,查找App启动耗时的问题,从而进行修复并优化。通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力,支持多场景、多通道智能告警监控,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间,我也是经过亲自使用才发现它的强大,所以迫不及待的要分享给大家使用。
九七分享吧所有文章来源于网络收集整理,如有侵权请联系QQ2387153712删除,如果这篇文章对你有帮助或者还不错的请给小编点个小赞(◠‿◠),小编每天整理文章不容易(ಥ_ಥ)!!!
还没有评论,来说两句吧...