Android 持久化大数据

Android 持久化大数据,android,Android,我的活动中有很多数据,我需要在配置更改时保存这些数据,并重新使用它们以减少网络请求。我正在考虑共享首选项或将数据放入捆绑包。共享首选项似乎更昂贵,但我不确定。请建议采取哪种方法更好 也可以将数据保存在单独的线程中吗?如果活动被破坏,数据不会停止吗?如果您只关心通过配置更改来持久化数据,那么您不需要在任何地方持久化数据。您可以将对数据的引用放在静态变量中。它将适用于所有活动 但是,请注意,如果你的应用程序进入后台,而Android关闭了该过程,那么数据就会丢失。如果您需要处理这种情况,那么最好将数

我的活动中有很多数据,我需要在配置更改时保存这些数据,并重新使用它们以减少网络请求。我正在考虑共享首选项或将数据放入捆绑包。共享首选项似乎更昂贵,但我不确定。请建议采取哪种方法更好


也可以将数据保存在单独的线程中吗?如果活动被破坏,数据不会停止吗?

如果您只关心通过配置更改来持久化数据,那么您不需要在任何地方持久化数据。您可以将对数据的引用放在静态变量中。它将适用于所有活动


但是,请注意,如果你的应用程序进入后台,而Android关闭了该过程,那么数据就会丢失。如果您需要处理这种情况,那么最好将数据放在数据库中。共享首选项适用于简单数据(原语、字符串等),但不适用于结构化数据(复杂对象、列表等)。

使用您用于从服务器检索数据并将其存储在数据库中的同一线程。如果你没有,那就创建一个


由于生命周期问题,我建议不要在
活动中执行线程。扩展
Application
并使用
Activity.getApplication

我们讨论的是什么类型的数据?“如果Activity被破坏,它不会被停止吗?”线程将被停止并销毁。您是否考虑过使用
服务
?此外,DB似乎比任何类型的文件都更适合于大数据。这只是一个大集合,通过解析从服务器获取的json创建。@m0skit0如何停止和销毁活动中的线程?如果它是一个匿名类或获取基于匿名可运行的类,则会产生内存泄漏。@m0skit0一个
线程
不会因为
活动被停止/销毁而被停止/销毁。线程有自己的生命周期,与其他Android组件不同。线程只有在运行到完成或者Android终止进程时才会消失。