gpt4 book ai didi

android从主要 Activity 重启应用程序

转载 作者:行者123 更新时间:2023-11-29 16:10:34 29 4
gpt4 key购买 nike

我的 Android 应用程序包含几个 Activity :M(主要或根)、ABC ...下面是一个可能的 Activity 导航图:

enter image description here

当我的根 Activity M 被初始化时,我将一些参数(如屏幕尺寸)缓存为特殊类 MyUtils 中的静态变量,以便稍后在其他 Activity 中使用它们。

当我在 Activity 中按下 Home 按钮说 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.
}

...但我不确定这是最好的方法。你有什么建议?

最佳答案

老实说,我会做与您所做的相同或类似的事情。一个可能更好的想法是有一个静态的 MyUtils.initialize() 方法,也许接受一个应用程序上下文参数,在每个 Activity 的每个 onCreate() 调用它使用 MyUtils。

或者将每个值存储在 SharedPreference 中。

关于android从主要 Activity 重启应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13768726/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com