[英]Is it somehow bad practice to store Objects as JSON Strings in SharedPreferences in Android?
作為最近發現NoSQL文檔存儲(namley CouchDB)的簡潔之美的人,我發現自己非常誘人,需要持久存儲簡單的對象或小數組以使用Json序列化程序將此數據作為JSON字符串存儲在共享首選項中。 我看到的優點是:
mapper.writeValueAsString(myObject);
我看到的缺點:
我知道這種方法只有在合理的小數據下才可行(但我認為這同樣適用於SharedPreferences),如果僅用於“保存配置”或寫入/讀取的類似用例,性能命中可忽略不計很稀疏。
我在所描繪的場景中尋找/反對這種方法的論據,或者我忽略或可能出現的問題。
在SharedPreferences
存儲小數據對象沒有壞處。 但是,有一件事你應該記住, SharedPreferences
不能在多個進程中正常工作。 因此,如果您計划跨進程使用它們,則應避免使用SharedPreferences。
所以幾年后我的發現是:
所以這取決於用例。 也許對於緩存來說這可能沒問題,因為如果數據在更新后損壞則只是性能損失,另一方面緩存應該很快(內存層可以減輕這種情況)。
如果您需要結構化數據的數據存儲,請使用Google的Room等數據庫或ORM。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.