Android如何在应用程序重新启动时保留静态数据?

时间:2012-10-25 09:57:46

标签: android android-4.0-ice-cream-sandwich

我有一个抽象类,它包含所有静态对象和函数,用于在执行会话期间存储应用程序的一些全局数据。

在ICS及以上版本中重新启动应用程序时,所有数据都重置为null,系统设置ALWAYS_FINISH_ACTIVITIES设置为true。

有关应用程序重新启动的Mainitan数据的更好方法是什么?

此致

Android IT

编辑我的问题: 我知道Sharepreference可能是一个更好的选择,但我不想存储应用程序的多个会话的数据和我存储的数据是巨大的。 问候, Android的 IT

6 个答案:

答案 0 :(得分:1)

每个Android应用都在依赖进程中运行。当应用程序成为后台并且系统需要内存时,应用程序的进程可能会被系统杀死。在这种情况下,当app重新启动时,静态对象将丢失。

我认为使用SharedPreference来维护数据是一种更好的方法。

答案 1 :(得分:0)

答案 2 :(得分:0)

将数据存储在本地存储上似乎是合适的:http://developer.android.com/training/basics/data-storage/index.html

答案 3 :(得分:0)

您可以使用XML文件存储本地数据。您可以使用DOM Reader

在启动时读取XML文件

http://www.ibm.com/developerworks/library/x-android/

如果您有大量数据,可以使用SQLite数据库

http://developer.android.com/training/basics/data-storage/databases.html

答案 4 :(得分:0)

如果没有太多数据,您可以将它们保存在SharedPreferences

您可以使用PreferenceManager.getDefaultSharedPreferences()

访问它们

答案 5 :(得分:0)

一旦应用程序退出或销毁,将删除所有数据。如果您想在重新启动后访问,则应根据您的要求保存数据。喜欢本地或网络。它加深了你。现在,您可以优先存储数据,以便在重新启动应用程序后有用。 我认为这对你更好:How to use SharedPreferences in Android to store, fetch and edit values