我的 Android 应用程序包含几个活动:(M
主或根)A
、、、、B
...C
下面是一个可能的活动导航图:
当我的根活动M
被初始化时,我将一些参数(如屏幕尺寸)缓存为特殊类中的静态变量,MyUtils
以便稍后在其他活动中使用它们。
当我在活动中按下主页按钮C
然后启动十几个应用程序时,就会发生 Kaboom。当我返回我的应用程序时,似乎一切都已被破坏。C.onCreate
方法被调用,但缓存的参数似乎被重置。
我想从 开始M
,而不是从C
Android 在长时间停顿后摧毁我的应用程序之后开始。我怎样才能做到这一点?
我想到了这样的事情:
// to be put into all my activities but M:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (MyUtils.GetScreenWidth() == -1)
{
// seems like Android killed my app
finish();
return;
}
// Normal initialization.
// Use MyUtils.GetScreenWidth() to align my ui elements.
}
...但我不确定这是最好的方法。你有什么建议?