Activity生命周期
返回栈
- Activity是可层叠的,每启动一个新的Activity,都会覆盖在原Activity中。然后每次点击返回时,都会销毁掉最上面的Activity。下面的Activity就会重新显示是出来。
Activity状态
- 运行状态
当一个Activity位于返回栈的栈顶时,Activity就处于运行状态。系统最不愿意回收的就是
处于运行状态的Activity,因为这会带来非常差的用户体验。 - 暂停状态
当一个Activity不再处于栈顶位置,但仍然可见时,Activity就进入了暂停状态。你可能会
觉得,既然Activity已经不在栈顶了,怎么会可见呢?这是因为并不是每一个Activity都会
占满整个屏幕,比如对话框形式的Activity只会占用屏幕中间的部分区域。处于暂停状态的
Activity仍然是完全存活着的,系统也不愿意回收这种Activity(因为它还是可见的,回收
可见的东西都会在用户体验方面有不好的影响),只有在内存极低的情况下,系统才会去
考虑回收这种Activity。 - 停止状态
当一个Activity不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态。系统仍然
会为这种Activity保存相应的状态和成员变量,但是这并不是完全可靠的,当其他地方需要
内存时,处于停止状态的Activity有可能会被系统回收。 - 销毁状态
一个Activity从返回栈中移除后就变成了销毁状态。系统最倾向于回收处于这种状态的
Activity,以保证手机的内存充足。
生命周期
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小贺同学的blog!
评论