android - 返回应用时的静态变量null

标签 android android-activity static null

在我的应用程序中,当我从外部浏览器返回我的应用程序时,有一个静态变量被设置为 null。如果我要启动的外部网页足够复杂,似乎应用程序或其中的一部分会被杀死。

如果应用程序被完全杀死,然后从主 Activity 重新启动,那会没问题,但重新启动是从启动浏览器的 Activity - 并且它不是为了设置应用程序状态,所以它在访问时崩溃空静态变量。这对我来说是六分之一的设备问题,所以我需要一些建议。

是否可以设置一个标志来防止这种行为?

最佳答案

这是大多数移动操作系统的标准行为,当然包括 Android。实际上,如果其他具有更高优先级的应用程序(通常,如果它在前台,则它的优先级更高)需要资源,您的应用程序实际上经常被杀死。这是由于移动设备资源相对有限的特性。

您应该将数据保存在更持久的地方。您可能会在一般 Data Storage 上找到这篇文章有用。这个问题也应该是相关的:Saving Android Activity state using Save Instance State

请注意,这实际上不是六分之一的设备问题。这是所有设备上的“问题”,只是在您的一台设备上更为明显,可能是因为它的内存较少。如果您在任何其他设备上运行非常占用内存的应用程序,您应该会看到相同的行为。也没有标志可以防止这种情况。这是标准和预期的。

关于android - 返回应用时的静态变量null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9541688/

相关文章:

asp.net-mvc - 使用 ASP.NET MVC3 在自定义 Htmlhelper 中查找区域名称和 Controller 名称

static - Godot/GdScript 如何从静态函数实例化类?

Android Studio 中的 JavaDoc @link 包

java - 想要使用比较器按时间戳对 ArrayList 中的聊天进行排序,但它不起作用,我不知道为什么

android - Google Drive PDFViewer 未加载 PDF 文件

出版商的 Android 市场搜索坏了?

android - Theme.AppCompat.Light get Actionbar 在 API 11 中返回 null

android - Activity 在 Nexus 7 上失败,但在 Nexus 4 和 5 上运行良好

android - 如何在用户打开深层链接 Activity 并按下后退按钮时始终启动 MainActivity 或 HomeActivity

c++ - 程序退出期间的函数局部静态初始化