首先,我们来说一说影响移动APP启动速度的原理以及因素有哪些。
要想了解APP的启动,需要先了解APP的基本启动方式。
APP启动方式粗略来看有三种:冷启动(cold start)、热启动(hot start)、温启动(warm start)。简而言之,冷启动是系统不存在相关的APP进程(APP首次启动或被完全杀死),这时APP的启动包括创建app进程、加载资源、启动Main Thread、初始化Splash Activity(打开一款软件时,首先会显示它的标志,然后再进入页面,这就是Splash)等等,然后才会呈现出用户所看到的APP首页。
热启动就是后台未关闭的APP,系统只是把它从后台切换到前台呈现给用户。比如当你打开一个APP然后跳转到另一个APP,然后再回到第一个APP时,使用的就是热启动。
温启动就是大家连续按返回键退出了APP,然后重新启动APP或者由于系统收回了APP的内存,然后重新启动APP。这时APP的启动会直接进入冷启动的第二阶段。
所以我们由以上过程的繁简可以得出:APP的启动两大核心时间消耗皆在冷启动的两个阶段内,即APP onCreate时间消耗和Splash Activity渲染页面前的时间消耗。冷启动是三种启动方式中最慢的,步骤最多的,也正是目前许多包含腾讯bugly等众多移动应用服务平台研究的主要APP启动的优化方向。
那么哪一个平台在APP的冷启动优化上最为优胜呢?
我们试用了市面上的几款工具后,最终发现友盟的U-APM不错,可以兼容多种操作系统,使用顺畅。
友盟+U-APM移动应用性能监控平台,其功能包括ANR、自定义异常等捕获能力等等,且支持启动趋势分析、慢启动分析、启动崩溃分析,有助于开发者追根溯源,快速定位漏慢环节,帮助用户一步到位解决APP问题,节省时间。
友盟+U-APM性能监控平台,通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析、内存分析、网络分析等性能监测能力,支持多场景、多通道智能告警监测,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间,是移动应用开发者的不二选择。