2014-11-24 44 views
1

我是开发Android的新手。我遇到了以下问题:打开一些其他应用程序后,应用程序类会重新创建

我工作的一个扩展应用程序类Android应用程序。身份验证会话的值存储在此类中,因为它应该创建一次,并且在所有活动和服务中都可用。

当我打开我的应用程序,并与家庭按钮来关闭它,并重新打开它,我开了很多其他的应用程序后,基本应用程序类被重新创建(的onCreate被调用)。发生这种情况时,我失去了我的身份验证值。似乎在onCreate再次被调用之前onTerminate或onLowMemory没有被调用。我的应用程序的当前状态并未消失,因为之前处于活动状态的活动仍然可用。

当我关闭应用程序与home键,只开了几个其他应用程序,该应用程序恢复正常。

我也试图实现一个单独的类,但单独的对象也为空值,如果应用程序类被重建。

如何防止应用程序类的重新创建或解决此问题?

感谢 雅各

回答

0

我发现应用程序类也可以在重新启动应用程序生命周期的一部分。我储存在我的认证值的喜好来解决这个问题

0

Application.onTerminate()文档:

此方法是在模拟过程中的环境中使用。它不会在生产Android设备上调用 ,其中通过简单地杀死进程来删除进程 ;没有用户代码(包括此回调)在执行此操作时执行 。

也不保证onLowMemory将被调用。检查这answer

我的应用程序的当前状态没有消失,因为 以前的活动活动仍然可用。

我认为活动是刚刚从捆绑恢复。

如何防止应用程序类的重新创建,或者围绕此问题工作 ?

您必须准备好您的应用程序可以随时重新创建。你可以在这个类中存储一些数据,但是在从一些活动中获取这些数据之前,你应该检查它是否为空。在首次启动和应用程序重新创建后它将为空。只需填写您的数据并返回活动。

相关问题