我在Activity中获取了大量数据,我需要将其保存在配置更改中,并重新使用它以减少网络请求。我正在考虑共享首选项或将数据放入Bundle。共享偏好似乎是更昂贵的操作,但我不确定。请建议采取哪种方法更好。坚持大数据
也可以将数据保存在单独的线程中,如果活动被破坏,它不会被停止吗?
我在Activity中获取了大量数据,我需要将其保存在配置更改中,并重新使用它以减少网络请求。我正在考虑共享首选项或将数据放入Bundle。共享偏好似乎是更昂贵的操作,但我不确定。请建议采取哪种方法更好。坚持大数据
也可以将数据保存在单独的线程中,如果活动被破坏,它不会被停止吗?
如果您只关心通过配置更改来保留数据,则无需将其保存在任何位置。您可以将一个对数据的引用放在一个静态变量中。它将适用于所有活动。
但是请注意,如果您的应用程序进入后台并且Android会终止进程,那么数据将会丢失。如果您需要处理这种情况,那么您最好将数据放入数据库中。共享偏好是简单的数据(原语,字符串,等等),但不能确定为结构化数据(复杂的对象,列表等)
使用您使用在DB从服务器获取数据,并将其存储在同一个线程。如果你没有 - 创建它。
由于生命周期问题,我建议不要在Activity
内部进行线程处理。扩展Application
并使用Activity.getApplication
。
我们在谈论什么样的数据? – harism 2013-04-22 20:28:26
*“如果活动被破坏,它不会被停止吗?”*线程将被停止并销毁。你有没有考虑过使用“服务”?另外一个数据库似乎比任何类型的文件都适合大数据。 – m0skit0 2013-04-22 20:30:25
这只是一个很大的集合,通过解析从服务器获取的json创建。 – Eugene 2013-04-22 20:34:24