2013-04-22 79 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