从本质上讲,Activity 在生命周期中共存在三个状态,这三个状态如下:
1) 运行态
指 Activity 运行于屏幕的最上层并且获得了用户焦点。
2) 暂停态
指当前 Activity 依然存在,但是没有获得用户焦点。
在其之上有其他的 Activity 处于运行态,但是由于处于运行态的 Activity 没有遮挡住整个屏幕,当前 Activity 有一部分视图可以被用户看见。处于暂停态的 Activity 保留了自己所使用的内存和用户信息,但是在系统极度缺乏资源的情况下,有可能会被杀死以释放资源。
3) 停止态
指当前 Activity 完全被处于运行态的 Activity 遮挡住,其用户界面完全不能被用户看见。
处于停止态的 Activity 依然存活,也保留了自己所使用的内存和用户信息,但是一旦系统缺乏资源,停止态的 Activity 就会被杀死以释放资源。
Activity 在生命周期中从一种状态到另一种状态时会激发相应的回调方法,这几个回调方法如下:
onCreate(Bundle savedInstanceState) 创建 Activity 时调用。
设置在该方法中,还以 Bundle 的形式提供对以前储存的任何状态的访问。其中参数 savedInstanceState 对象是用于保存 Activity 的对象的状态。
onStart() Activity 变为在屏幕上对用户可见时调用。
onResume() Activity 开始与用户交互时调用(无论是启动还是重启一个活动,该方法总是被调用)。
onPause() 当 Android 系统要激活其他 Activity 时,该方法被调用,暂停或收回 CPU 和其他资源时调用。
onStop() Activity 被停止并转为不可见阶段时调用。
onRestart() 重新启动已经停止的 Activity 时调用。
onDestroy() Activity 被完全从系统内存中移除时调用。
该方法被调用可能是因为有人直接调用 finish() 方法或者系统决定停止该活动以释放资源。
Activity 的生命周期
最新推荐文章于 2023-06-14 14:33:48 发布