感谢您按问题阅读,尽管这是一个非常菜鸟...
Android 系统如何管理关于活动初始化的内存,特别是如果一个活动是通过其他活动初始化的?这一直是我脑海中挥之不去的问题,但我将尝试用一个例子来说明:
假设我有 3 个活动 - A、B和C - 活动A是第一次启动应用程序时启动的活动。现在,假设活动A具有导航到活动B和C的按钮,并且这些活动是使用 Android 的startActivity()
函数启动的,并传递给它一个Intent
实例。同样,假设活动B和C具有启动对应活动的按钮......到目前为止有意义吗?
现在,如果我再使用startActivity()
to:
- 从活动A开始活动B
- 然后从活动B开始活动C
- 然后从活动C开始活动A
- 然后无限期地重复上述步骤(所以绕圈子)
...假设Android系统会“知道”活动之前已经开始并且不会重新初始化它们并杀死越来越多的内存,而是调用类似onRestart()
功能的东西,而不是“切换”回到已经初始化的活动实例?
一个非常简单的问题/问题的相当解释......如果已经在其他地方提出并回答了这个问题......我无法在其他任何地方找到明确的答案,即使在阅读 Android 开发人员的Android 培训部分时也是如此地点。