1、冷启动(App进程创建)

系统不存在App进程(APP首次启动或APP被完全杀死)时启动APP
此时,APP的启动将经历两个阶段:

第一阶段:
1、加载并启动app;
2、app启动后,第一时间为app显示一个空白的window;
3、创建app进程
4、第二阶段:
5、系统一旦创建了app进程,app进程就要负责做以下的任务:

创建app对象;
1、启动主进程ActivityThread;
2、创建MainActivity;
3、渲染视图;
4、执行onLayout;
5、执行onDraw
6、完成第一次绘制后,把mainActivity替换已经展示的BackgroundWindow,即空白window。

2、热启动(Activity已创建,从后台到前台)

当我们按了Home键或其它情况app被切换到后台,再次启动app的过程。
热启动时,系统将activity带回前台。如果应用程序的所有activity存在内存中,则应用程序可以避免重复对象初始化、渲染、绘制操作。
如果由于内存不足导致对象被回收,则需要在热启动时重建对象,此时与冷启动时将界面显示到手机屏幕上一样。

3、温启动(App进程存在,但Activity结束)

温启动包含了冷启动的一些操作,由于app进程依然在,温启动只执行冷启动的第二阶段,这代表着它比热启动有更多的开销。

温启动有很多场景,例如:

用户按连续按返回退出了app,然后重新启动app;
由于系统收回了app的内存,然后重新启动app。

关于直接杀死进程
这里我们应该很好去理解,Android中的每一个App都是运行在自己VM实例之中(沙盒)。每一个VM实例在linux中又是一个单独的进程,通过任务管理杀掉一个进程,那么对应进程里面的数据全部被回收掉。

</ 这篇文章从干货总量方面不如第一篇,而且一连发了两篇类似文档,总感觉没有进步与新意。但是后来琢磨了一下,这篇质量也不差, APP 启动 时间也是此次项目我新碰到的一个点,估计也有相当多的同学碰到这个问题。之前并没有太在意这个点,网上也已经有比较好的文章来解决这个问题。但是还是跟第一篇的原因类似,官方的文章还是从原理上分析的比较好,不仅授之以鱼,还授之以渔。所以还是想翻过来分享给大家,希望多指教,后面会... 通过重排二进制文件的函数布局,将 启动 阶段高频调用的函数集中在相邻内存页,减少缺页中断(Page Fault)。 App 启动 优化是提升用户体验的关键环节,主要针对 冷启动 热启动 进行针对性优化。验证优化效果,并持续监控关键版本的变化。通过上述策略,可将 冷启动 时间优化至。函数到首屏渲染完成的时间。 1. 冷启动 :当 启动 应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个 启动 方式就是 冷启动 。 2. 热启动 :当 启动 应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种 启动 会从已有的进程中来 启动 应用,这个方式叫 热启动 APP 启动 分析 Cold start At the beginning of a cold start, the system has three tasks. These tasks are: 1、Loading and launching the app . 2、Displaying a blank starting window for the app immediately after l...    星历(Ephemeris)与历书(Almanac)    为了缩短卫星锁定时间,GPS接收机需利用历书、当地位置的时间来预报卫星运行状态。    历书与星历都是表示卫星运行的参数。历书包括全部卫星的大概位置,用于卫星预报;星历只是当前接收机观测到的卫星的精确位置,用于定位。    1)cold( 冷启动 ):没有之前的位置信息,没有星历,没有时间的估算。这种情况发生在 摘抄:当 app 启动 时,任何一个地方有耗时操作都会拖慢我们应用的 启动 速度,而应用 启动 时间是用毫秒度量的,对于毫秒级别的快慢度量我们还是需要去精确的测量到到底应用 启动 花了多少时间,而根据这个时间来做衡量。从点击应用的 启动 图标开始创建出一个新的进程直到我们看到了界面的第一帧,这段时间就是应用的 启动 时间。所以我们统计的就是这一段时间,其中最为精确的时间统计方法就是使用 “adb shell” 命令的方式来... APP 启动 分为不同的 启动 方式,我们最常用到的就是 冷启动 热启动 ,本文主要介绍 冷启动 热启动 方式下如何实现 app 秒开的效果,以及如何实现实时检测、如何预防性能问题的发生,如果你对此感兴趣,就请接着看下去吧! 那么,先简单介绍 冷启动 热启动 冷启动 :指 app 被后台杀死后,在这个状态打开 app ,这种 启动 方式叫做 冷启动 热启动 :指 app 没有被后台杀死,仍然在后台运行,通常我们再次去打开这个 app ,这种 启动 方式叫 热启动 冷启动 秒开 那么,何为闪屏页呢?这个大家一般都知道,我们 app