一、Activity状态
要探索Activity的生命周期,首先要知道Activity有几种状态。
1.运行状态
当Activity处于最顶端,也就是Activity正在运行的时候,便是处于运行状态。系统最不愿意回收的就是这种状态的Activity,因为会带来极差的用户体验感。
2.暂停状态
当一个Activity不在处于最顶端,但是依然可见时,这便是暂停状态。为什么Activity不在最顶端,还会可见呢?因为不是所有的Activity都是占满屏幕的,比如对话框只是占用屏幕中间的部分区域,所以在后面还是可以看到这个Activity的。处于暂停状态的Activity依旧是存活的,并且系统同样不愿意回收这个状态的Activity(因为它是可见的,回收可见的Activity会在用户体验方面造成不良的影响)。只有在内存极低的情况下,系统才会考虑回收这种Activity。
3.停止状态
当一个Activity不在处于最顶端,并且完全不可见的情况,就是停止状态。系统依旧会为这种Activity保存相应的状态和成员变量,但是并不可靠,当其他地方需要内存时,处于停止状态的Activity,就有可能会被回收。
4.销毁状态
当Activity被移除后就是销毁状态,系统最倾向于回收