我在Activity中获得了大量数据,我需要将其保存在配置更改中并重复使用它来减少网络请求。我正在考虑共享首选项或将数据放入Bundle。共享偏好似乎更昂贵的操作,但我不确定。请建议采取哪种方法更好。
是否也可以将数据保存在单独的线程中,如果活动被销毁,它是否会被停止?
答案 0 :(得分:0)
如果您只关心通过配置更改来持久保存数据,那么您无需在任何地方保留数据。您可以在静态变量中引用数据。它将适用于所有活动。
但是,请注意,如果您的应用程序进入后台并且Android终止了该过程,那么数据将会丢失。如果您需要处理这种情况,那么最好将数据放入数据库中。共享首选项适用于简单数据(基元,字符串等),但不适用于结构化数据(复杂对象,列表等)
答案 1 :(得分:0)
使用您用于从服务器检索数据的相同线程并将其存储在DB中。如果你没有 - 创建它。
由于生命周期问题,我建议不要在Activity
内进行线程化。扩展Application
并使用Activity.getApplication
。