1 简介
互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Android APP而言,要求更加严格,如果系统无响应时间超过5秒,便会出现ANR,APP可能会被强制关闭,因此,启动时间作为一个重要的性能指标,关系着用户的第一体验。
爱奇艺安卓APP非常重视启动速度的优化,本文将从启动过程,启动时间测量,启动优化,以及后续监控等方面分享我们在启动优化方面积累的经验
2 启动模式
要准确的测量APP的启动时间,首先我们要了解APP整个启动过程。 启动过程,一般可以分为以下三类:
爱奇艺Android客户端启动优化与分析
从上图可以看出,启动过程中,Cold的模式下,生命周期中做的事情最多,启动的时间最长,因此,我们以冷启动来衡量APP启动时间。启动过程中,如何判断哪些生命周期影响启动速度呢?
3 启动过程
我们知道,APP的启动和运行,就是Linux系统创建进程和组件对象,并在UI线程中处理组件消息的过程。
启动过程图:
App的启动过程,可以划分为三个阶段:
3.1 创建进程
当APP启动时,如果当