【原创】移动APP用户体验监控-冷启动与热启动

APP冷启动定义

  • Andriod:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动,也就是先实例化Application。
  • IOS:App被kill掉以后一切从头开始启动的过程

APP热启动定义

  • Andriod:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,也就是直接从进程中启动,不需要重新创建Application,这个方式叫热启动。
  • IOS:按下home键的时候,iOS APP还存存在一段时间,这时点击APP马上就能恢复到原状态,这种启动我们称为热启动。

APP启动过程优化实战

一种对APP启动过程各个环节划分的定义

首次启动或冷启动时间:
Android:Application.attachbaseContext()开始到MainActivity.onResume()结束
iOS:main函数启动时间(SDK启动时间)到 FirstVC.viewDidAppear()结束

热启动时间:
Android:Home键:Activity.onRestart()开始到Activity.onResume()结束 ;Back键:Activity.onCreate()开始到Activity.onResume()结束
iOS:applicationWillEnterForeground()开始到applicationDidBecomeActive()结束

初始化时间:
Android:Application init,Application.attachbaseContext()开始到结束
iOS:main函数启动时间(SDK启动时间)到applicationDelegate.didFinishLaunchingWithOptions()开始

构建时间:
Android:MainActivity init,Application.attachbaseContext()结束到Application.onCreate()结束
iOS:applicationDelegate.didFinishLaunchingWithOptions()开始到FirstVC.loadView()开始

页面加载时间:
Android:MainActivity onCreate加onResume,Application.onCreate()结束到MainActivity.onResume()结束
iOS:FirstVC.loadView()开始到FirstVC.viewDidAppear()结束

事实上所谓的APP启动完毕是一个主观的概念,APP首屏的其它视图也会由于加载缓慢而导致用户认为APP启动缓慢,但在监控过程中,可将APP启动狭义的定义为第一个合理的页面加载完成事件所对应的时间,而将其它视图进行单独处理,这对于问题分析和用户体验优化是足够的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近一直想整理一个关于Android热启动,冷启动的文章,于是就有了下文(本文仅仅只是整理总结前人的知识点)来源:...
    忘尘And阅读 2,953评论 0 7
  • 什么是冷启动 冷启动就是在应用启动前,系统中没有该应用的任何进程信息。比如说第一次打开,应该杀死再开启。 冷启动/...
    刘尔泽阅读 3,725评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,117评论 25 708
  • 文/揽衣 我的脑袋里昏昏沉沉的,眼前的世界模模糊糊的。我使劲揉了揉眼睛,好让一切变得清晰。 这里是哪里呢?前面是茫...
    揽衣阅读 394评论 5 4
  • 今天是来到简书的第一天虽然2018已经过了一段了但是趁着考完期末就实现这个想记录自己且分享的想法吧一直喜欢做计划,...
    IamApassenger阅读 166评论 0 1