不知道大家知道八秒定律吗?是指用户访问一个网站或者APP,如果打开之后等待的时间超过了八秒,就有70%的用户放弃等待,从而APP可能就因为启动慢的问题失去了一个潜在的用户,可见启动速度是多么的重要。

应用启动流程分为首次启动、冷启动和热启动,现在我来说说它们的具体含义。

(1)首次启动:App安装后的第一次启动,属于特殊的冷启动,记为首次启动。

(2)冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。

特点:耗时最多

启动流程:Click Event -> IPC -> Process.start -> ActivityThread -> bindApplication -> LifeCycle -> ViewRootImpl

(3)热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,这个方式叫热启动。

特点:耗时较少

启动流程:LifeCycle -> ViewRootImpl

现友盟+推出一款U-APM产品,提供App稳定性监控、性能监控和云真机测试平台。通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力,支持多场景、多通道智能告警监控,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间。

提供云真机测试能力,助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率。在云真机测试期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通。

友盟+U-APM 支持启动趋势分析、慢启动分析、启动崩溃分析。

(1)启动趋势分析

启动趋势较为直观的展示应用启动耗时的平均值、分位值、区间分布等数据,以及启动阶段的性能分解数据,也能分析出,多版本迭代后,启动时间的分布状况。

(2)慢启动分析

慢启动分析,有助于开发者追根溯源,该功能展示慢启动情况的占比以及慢启动设备列表,您可以在启动设置中自定义慢启动的划分,默认首次启动/冷启动超过3秒为慢启动,热启动超过1秒为慢启动。

冷启动阶段的慢启动分析,直观表现出慢启动比例以及慢启动平均耗时。

慢启动分布,直观表现出,慢启动分布的设备、系统、运营商、版本、渠道、地域。

(3)启动崩溃分析

归纳启动阶段中出现的崩溃信息,支持划分首次启动、冷启动、热启动状态下的崩溃,默认启动耗时上限为8秒,超出时间的崩溃不被划分至启动崩溃。

启动速度优化是Android性能优化的第一道门,将它做好了将会直接提升用户体验,友盟+U-APM ,的出现,无疑是开发者的福利,帮助开发者及早发现并解决问题,把控应用的启动性能状态,从源头减少客户的流失。

U-APM应用性能监控平台,通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力, 及卡顿、启动分析、内存分析、网络分析等性能监测能力,支持多场景、多通道智能告警监测,帮助 开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间。提供云真机测试能力, 助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率。在云真机测试 期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通。