我有一个包含所有静态对象和函数的抽象类,用于在执行会话期间存储应用程序的一些全局数据。
一旦我在 ICS 和更高版本中重新启动应用程序,系统的设置 ALWAYS_FINISH_ACTIVITIES 设置为 true,所有数据都会重置为 null。
在应用程序重新启动时维护数据的更好方法是什么?
问候,
安卓 IT
编辑我的问题:我知道 Sharepreference 可能是一个更好的选择,但我不想为应用程序的多个会话存储数据,而且我存储的数据非常庞大。问候, Android IT
我有一个包含所有静态对象和函数的抽象类,用于在执行会话期间存储应用程序的一些全局数据。
一旦我在 ICS 和更高版本中重新启动应用程序,系统的设置 ALWAYS_FINISH_ACTIVITIES 设置为 true,所有数据都会重置为 null。
在应用程序重新启动时维护数据的更好方法是什么?
问候,
安卓 IT
编辑我的问题:我知道 Sharepreference 可能是一个更好的选择,但我不想为应用程序的多个会话存储数据,而且我存储的数据非常庞大。问候, Android IT
每个 Android 应用程序都在一个依赖进程中运行。当应用程序成为后台并且系统需要内存时,应用程序的进程可能会被系统杀死。在这种情况下,当应用重新启动时,静态对象会丢失。
我认为使用 SharedPreference 来维护数据是一种更好的方法。
如果没有太多数据,您可以将它们保存在SharedPreferences
一旦应用程序退出或销毁,将删除所有数据。如果您想在重新启动后访问,您应该根据您的要求保存数据。像本地或网络。它加深了你。现在您可以优先存储数据,以便在重新启动应用程序后有用。我认为这对你更好:How to use SharedPreferences in Android to store, fetch and edit values
您可以使用http://developer.android.com/reference/android/content/SharedPreferences.html存储数据SharedPreferences
将数据存储在本地存储上似乎是合适的:http: //developer.android.com/training/basics/data-storage/index.html
您可以使用 XML 文件将数据存储在本地。您可以在启动时使用 DOM Reader 读取 XML 文件
http://www.ibm.com/developerworks/library/x-android/
如果您有大量数据,您可以使用 SQLite 数据库
http://developer.android.com/training/basics/data-storage/databases.html