如Activity - Android 文档中所示。
一个活动基本上有四种状态:
1.如果一个activity在屏幕的前台(在栈顶),它是活跃的或者正在运行的。
2.如果一个活动失去了焦点但仍然可见(即一个新的非全尺寸或透明活动的焦点在你的活动之上),它被暂停。暂停的活动是完全活动的(它维护所有状态和成员信息并保持连接到窗口管理器),但可以在内存极低的情况下被系统杀死。
3.如果一个活动被另一个活动完全遮挡,则停止。它仍然保留所有状态和成员信息,但是,它不再对用户可见,因此它的窗口是隐藏的,并且当其他地方需要内存时,它通常会被系统杀死。
4.如果一个活动被暂停或停止,系统可以通过要求它完成或简单地终止它的进程来从内存中删除该活动。当它再次显示给用户时,它必须完全重新启动并恢复到之前的状态。
这是一个活动的生命周期,如 Android 文档中所示:
您可能有兴趣在活动中监控三个关键循环:
1. Activity 的整个生命周期发生在第一次调用 onCreate(Bundle) 到最后一次调用 onDestroy() 之间。一个活动将在 onCreate() 中完成所有“全局”状态的设置,并在 onDestroy() 中释放所有剩余资源。例如,如果它有一个线程在后台运行以从网络下载数据,它可能会在 onCreate() 中创建该线程,然后在 onDestroy() 中停止该线程。
2.活动的可见生命周期发生在对 onStart() 的调用与对 onStop() 的相应调用之间。在此期间,用户可以在屏幕上看到活动,尽管它可能不在前台并与用户交互。在这两种方法之间,您可以维护向用户显示活动所需的资源。例如,您可以在 onStart() 中注册一个 BroadcastReceiver 来监控影响 UI 的更改,并在用户不再看到您正在显示的内容时在 onStop() 中取消注册。onStart() 和 onStop() 方法可以多次调用,因为活动对用户可见和隐藏。
3.活动的前台生命周期发生在对 onResume() 的调用与对 onPause() 的相应调用之间。在此期间,活动位于所有其他活动之前并与用户交互。一个活动经常会在恢复和暂停状态之间切换——例如,当设备进入睡眠状态、传递活动结果时、传递新意图时——因此这些方法中的代码应该是相当轻量级的。
结论:您无法更改生命周期执行的顺序。