2011-11-20 67 views
2

在我的应用程序有活动的数量,应用程序用于存储像currentUser全局变量等Android应用程序创建两次

有时候,当我按下Home键,然后通过最近回到我的应用程序,应用程序对象再次创建,使用空字段而不是currentUser。

我该如何避免这种情况?

+0

可以有所帮助:http://stackoverflow.com/questions/708012/android-how-to-declare-global-variables/4642069#4642069 –

回答

0

当您的应用程序转到后台时,Android可以随时保持或完全关闭它。通常,当一个单独的应用程序被带到资源密集型的前台时,Android将开始关闭其他在后台应用程序而不主动执行任何操作的应用程序。

真的停止Android可能导致您的应用程序被终止的唯一方法是在您的应用程序中运行一个服务,该请求位于前台。当然,通过这样做,您的应用程序将需要在状态栏中显示一个图标。

结束语:最好的办法是将代表currentUser的键存储在首选项或数据存储中,而不是依赖于应用程序对象上的全局变量。

0

您应该使用onPause()方法将任何持久数据写入存储,并且/或者您应该实现onSaveInstanceState(Bundle),在活动进入后台之前调用它,以便您可以保存任何动态数据在你的活动中加入到给定的Bundle中,以后在onCreate(Bundle)中收到。

上的活动周期

更多信息here