public static class GoBack {
public static Stack<Bundle> goBackStack;
}
在我的android应用程序中,我编写了一个父类是Application的类,我声明了一个内部类,如上面的代码。
我的问题是,我的应用程序在后台运行很长时间然后返回应用程序后,goBackStack 始终为 null 。我不知道为什么?我怎样才能避免它?
最佳答案
当 Android 决定终止您的应用程序时,您的 goBackStack
会立即变为 null。由于此变量是在其他地方初始化的,因此在重新启动应用程序后它仍然为 null(因为它没有在第二次初始化)。
解决方案很简单 - 不要考虑静态变量,因为它们是持久存储。他们不是。请改用 SharedPreferences
、SQLite
数据库或文件系统。
关于java - android os 决定调用 gc 的策略是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11952462/