App启动速度是App性能的一个比较关键指标,App启动速度越快,给用户带来的体验更好。最近看到了蛮多优秀的关于优化App启动速度的文章,整理记录下这些优秀的思路。
首先看下启动的状态,从官方文档介绍 《Launch-Time Performance》 主要分为冷启动,温启动,热启动(下面有原文介绍)。App启动速度优化,主要是优化冷启动这块。因为冷启动过程,App进程还未创建。
冷启动(Cold Start)
先看下冷启动的官方流程图:
作为普通应用,我们无法去控制创建进程的过程,可以优化的也就是Application、Activity创建以及回调等过程。所以,了解了App冷启动的主体过程,可以着重优化Application及启动Activity的onCreate()过程。在创建过程中,太耗时的操作,看看能不能开辟子线程去初始化。
显示Activity创建时间
根据Adb shell命令行,查看App的Activity创建时间:
每次优化完,通过命令行,看看启动速度是否有提升。本文主要记录启动流程原理,以及查看启动时间的方法。相信理解了这些,就很容易的知道,怎么去优化一个App的启动速度了。
参考资料
Android App启动流程:http://cheelok.com/aosp/54/
Android性能优化(一)之启动加速35%:http://www.jianshu.com/p/f5514b1a826c
Android 你应该知道的的应用冷启动过程分析和优化方案:http://blog.csdn.net/growing_tree/article/details/53183511
Activity到底是什么时候显示到屏幕上的呢?:http://blog.desmondyao.com/android-show-time/?from=timeline&isappinstalled=0
App冷启动你要我怎样:http://www.jianshu.com/p/84983a3bdbff