2014-07-21 48 views
0

我有一些scens,我想保存他們的應用程序關閉時的狀態。有些時候,這就像是「那個場景打開了櫥窗?」但有時候更多的信息是我需要存儲的。所以最好使用它UserDefaults/SharedPreferences(JSON字符串)或創建模型,序列化這些信息模型,然後將其保存到數據庫?UserDefaults/SharedPreferences或DataBase更適合保存視圖狀態?

我會感謝您的意見。

+0

取決於數據量,但我認爲SharedPreferences會更快更簡單。你應該檢查性能。在我的情況下(大約50kB的數據),從DB獲取信息,創建視圖需要300ms,儘管我沒有計算出創建連接有多少。 300ms是很長的時間,所以它應該在後臺線程中完成。我認爲SP在這種情況下會更慢。 – Marius

回答

0

我使用SharedPreferences當我有,保存一個變量,如用戶名,原產地,接入令牌,位置,UsersCurrentLevel,UsersCurrentHealth等

我使用數據庫時,我有數據,需要大量的操作或具有更多的規格。如問題對於用戶來說, 視頻廣告的詳細信息(seenState,目錄路徑,urlToDownloadVideo,hasVideoBeenAlreadyDownloaded等),數據列表等

,所以我會建議你使用的混合取決於數據。如果它有一個單一的條目使用SharedPreference否則,如果它有一個單一格式的列表/多個數據將其放入數據庫中。希望這可以幫助。