冷启动优化

【冷启动优化】对于一款APP来说,如果用户点击APP后,一直是等很长时间才能反映过来,那么用户就会失去耐心直接放弃了。这时候不管我们APP内部设计的再精美,功能再全面,用户的印象都很差了,因此冷启动的速度优化是很必要的方面,今天来了解一下友盟+u-apm能够在冷启动优化中帮到大家什么!
Android应用的启动方式分为三种:冷启动、暖启动、热启动,其中冷启动消耗的时间最长,冷启动最能影响用户体验。
1、冷启动:指的是该应用程序在此之前没有被创建,发生在应用程序首次启动或者自上次被终止后的再次启动。简单的说就是app进程还没有,需要创建app的进程启动app。
2、温启动:温启动指的是App进程存在,但Activity可能因为内存不足被回收,这时候启动App不需要重新创建进程,只需要执行APP进程中的一些任务,比如创建Activity。
3、热启动:热启动就是App进程存在,并且Activity对象仍然存在内存中没有被回收。
冷启动分为两个阶段去理解:
第一阶段:
冷启动开始时,系统有三个任务:
1、加载并启动APP
2、启动后立即显示应用程序的空白启动窗口
3、创建应用程序进程
第二阶段:
创建完成了应用程序后,应用程序会负责下一阶段的任务
1、创建应用程序对象(application部分)
2、启动主线程
3、创建main activity(就是我们的第一个启动的页面)
4、加载试图
5、布局屏幕
6、执行初始化绘制
完成上述操作后,系统进程会交换当前显示的背景窗口,将其替换成main activity的页面,这个时候用户就可以进行操作了。
冷启动优化方向
系统的行为,一般情况下我们是无法干预的。我们的优化方向就是 Application 和 Activity 的生命周期这个阶段,我们能干预的就是在创建应用和创建 Activity 的过程中可能会出现的性能问题。来聊一聊友盟+u-apm针对冷启动能起到哪些帮助?
启动趋势分析
启动趋势较为直观的展示应用启动耗时的平均值、分位值、区间分布等数据,以及启动阶段的性能分解数据,也能分析出,多版本迭代后,启动时间的分布状况。
慢启动分析
这项功能详尽表示慢启动情况的占比以及慢启动设备列表,(可以在启动设置中自定义慢启动的划分),默认首次启动/冷启动超过3秒为慢启动,热启动超过1秒为慢启动。冷启动阶段的慢启动分析,直观表现出慢启动比例以及慢启动平均耗时。慢启动分布,直观表现出,慢启动分布的设备、系统、运营商、版本、渠道、地域。
启动崩溃分析
整理归纳启动阶段中出现的崩溃信息,支持划分首次启动、冷启动、热启动状态下的崩溃,默认启动耗时上限为8秒(可手动设置),超出时间的崩溃不被划分至启动崩溃。
U-APM提供多种错误类型的采集: 安卓支持捕捉Java崩溃、Native崩溃、ANR、自定义异常。iOS支持捕捉Swift、Objective-C崩溃。帮助开发者精准排查定位错误信息,以便后期更好的优化。

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

    推荐阅读