根据文档,Android 操作系统可以杀死后台堆栈后面的活动。
所以,比如说我有一个应用程序并打开主活动(我们称之为活动 A)。在这个公共活动类中,我声明并初始化了一个公共静态变量(我们称之为“foo”)。然后在 Activity A 的 onCreate() 方法中更改“foo”的值。从 Activity A 开始,用户在我的应用程序中启动另一个名为 Activity B 的活动。在 Activity B 中使用变量“foo”。在用户导航到其他应用程序中的其他一些活动后,Activity B 会暂停。最终,在内存不足发生后,Activity A 和 Activity B 可以被杀死。用户导航回我的应用程序后,它会重新启动(实际上是“重新创建”)活动 B。
发生什么了:
此时变量“foo”是否会具有 Activity A 的 onCreate() 方法运行时为其设置的值?
变量“foo”不存在?
变量“foo”存在,但现在是初始化值,而不是 Activity A 的 onCreate() 方法中设置的值?