2013-04-22 114 views
0

我在Activity中获取了大量数据,我需要将其保存在配置更改中,并重新使用它以减少网络请求。我正在考虑共享首选项或将数据放入Bundle。共享偏好似乎是更昂贵的操作,但我不确定。请建议采取哪种方法更好。坚持大数据

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

+0

我们在谈论什么样的数据? – harism 2013-04-22 20:28:26

+0

*“如果活动被破坏,它不会被停止吗?”*线程将被停止并销毁。你有没有考虑过使用“服务”?另外一个数据库似乎比任何类型的文件都适合大数据。 – m0skit0 2013-04-22 20:30:25

+0

这只是一个很大的集合,通过解析从服务器获取的json创建。 – Eugene 2013-04-22 20:34:24

回答

0

如果您只关心通过配置更改来保留数据,则无需将其保存在任何位置。您可以将一个对数据的引用放在一个静态变量中。它将适用于所有活动。

但是请注意,如果您的应用程序进入后台并且Android会终止进程,那么数据将会丢失。如果您需要处理这种情况,那么您最好将数据放入数据库中。共享偏好是简单的数据(原语,字符串,等等),但不能确定为结构化数据(复杂的对象,列表等)

0

使用您使用在DB从服务器获取数据,并将其存储在同一个线程。如果你没有 - 创建它。

由于生命周期问题,我建议不要在Activity内部进行线程处理。扩展Application并使用Activity.getApplication