Java 在android中跨片段和活动生命周期存储数据

Java 在android中跨片段和活动生命周期存储数据,java,android,android-fragments,storage,Java,Android,Android Fragments,Storage,我需要存储自定义对象的数组,以在android中填充列表视图。我获取数据以填充列表视图中的片段,该片段是导航抽屉的一部分(片段经常被替换)。下次启动片段时,将再次获取数据。我希望即使在我转到另一个活动并返回时,这些数据仍然保持不变。 我没有考虑使用数据库,因为当用户重新启动应用程序时,我不需要恢复数据。只要用户正在积极使用应用程序,我就需要这些数据 我考虑过以下方法: 独生子女班 子类化应用程序类 在片段/活动中保存实例状态 在应用程序子类中存储2000个对象的数组可以吗?有更好的方法吗?如果你

我需要存储自定义对象的
数组
,以在android中填充
列表视图
。我获取数据以填充
列表视图
中的
片段
,该片段是
导航抽屉
的一部分(片段经常被替换)。下次启动
片段时,将再次获取数据。我希望即使在我转到另一个
活动
并返回时,这些数据仍然保持不变。 我没有考虑使用
数据库
,因为当用户重新启动应用程序时,我不需要恢复数据。只要用户正在积极使用应用程序,我就需要这些数据

我考虑过以下方法:

  • 独生子女班
  • 子类化应用程序类
  • 在片段/活动中保存实例状态

  • 在应用程序子类中存储2000个对象的数组可以吗?有更好的方法吗?

    如果你想让数据持久化,你不应该考虑使用单级类。存储持久数据的最好的Android实践是:

    1.Application Preferences
    2.Files
    3.contentProviders
    4.SQLite DB
    

    您可以在此处了解更多信息:

    我不希望在用户关闭并重新打开应用程序时数据保持不变。我只需要一个方法来跨片段和活动生命周期保存数据。1->在fragment1中,在此处获取数据并填充ListView。2->碎片1被相同活动中的碎片2替换(碎片1已销毁)。如果我回到Fragment1,我将不得不重新提取数据。如果我移动到另一个活动并返回到片段活动,我将不得不再次重新提取数据。我想要的是,一种跨片段生命周期存储数据的方法,数据应该在退出应用程序时清除。好的,然后你应该看看上面链接中解释的“非持久对象”部分。我正在考虑这样做:我需要存储一个大小不超过2000的自定义对象数组。应用程序子类不是用来存储少量全局变量吗?