在我的应用程序中,当我从外部浏览器返回我的应用程序时,有一个静态变量被设置为 null。如果我要启动的外部网页足够复杂,似乎应用程序或其中的一部分会被杀死。
如果应用程序被完全杀死,然后从主 Activity 重新启动,那会没问题,但重新启动是从启动浏览器的 Activity - 并且它不是为了设置应用程序状态,所以它在访问时崩溃空静态变量。这对我来说是六分之一的设备问题,所以我需要一些建议。
是否可以设置一个标志来防止这种行为?
最佳答案
这是大多数移动操作系统的标准行为,当然包括 Android。实际上,如果其他具有更高优先级的应用程序(通常,如果它在前台,则它的优先级更高)需要资源,您的应用程序被实际上经常被杀死。这是由于移动设备资源相对有限的特性。
您应该将数据保存在更持久的地方。您可能会在一般 Data Storage 上找到这篇文章有用。这个问题也应该是相关的:Saving Android Activity state using Save Instance State
请注意,这实际上不是六分之一的设备问题。这是所有设备上的“问题”,只是在您的一台设备上更为明显,可能是因为它的内存较少。如果您在任何其他设备上运行非常占用内存的应用程序,您应该会看到相同的行为。也没有标志可以防止这种情况。这是标准和预期的。
关于android - 返回应用时的静态变量null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9541688/