SharedPreferences有多快?有沒有辦法讓他們在閱讀的記憶?我有一個ListView必須查詢以顯示每個單元格的少量數據,我擔心對閃存的調用會太慢。我不擔心寫入速度,因爲寫入很少發生。我正在考慮只使用JSON對象來保存數據而不是SharedPreferences。思考?SharedPreferences的讀取速度
回答
有沒有辦法將它們放在內存中閱讀?
它們在第一次參考後在內存中。您第一次檢索特定的SharedPreferences
(例如,PreferenceManager.getDefaultSharedPreferences()
)時,數據將從磁盤加載並保留。
你說,一旦你得到'PreferenceManager.getDefaultSharedPreferences()'的實例,'SharedPreferences'中的整個保存數據就會被加載。 –
@MoshErsan:是的。 'SharedPreferences'被保存在'ContextImpl'的'SharedPreferences'的靜態'HashMap'中。它將一直存在,直到過程終止。請參閱https://github.com/android/platform_frameworks_base/blob/master/core/java/android/app/ContextImpl.java中的'sSharedPrefs' – CommonsWare
這樣做的好處是什麼? –
我有一個小的數據量是一個ListView具有查詢到 顯示每個單元
你不能讓一個Singleton,一個共同的類,然後從第二次從那裏看了嗎?我會這樣做。
沒有必要通過單例增加共享全局狀態。 Android已經通過'SharedPreferences'和'Bundles'爲全球狀態管理提供瞭解決方案。這就夠了。你應該儘可能地消除全球狀態 –
我的建議是首先測試你的表現,然後開始擔心速度。一般來說,您會對可維護性和速度優先的應用感到高興。當工程師在應用程序穩定之前就開始實現性能時,結果是一個運行速度更快但具有大量錯誤的應用程序。
- 1. SharedPreferences讀取和寫入速度
- 2. EBS讀取速度
- 3. NetworkStream讀取速度極慢
- 4. golang:net.Conn讀取速度很慢?
- 5. SharedPreferences讀取相同的值
- 6. 限制HttpWebResponse流的讀取速度
- 7. 增加SQL精簡版讀取速度
- 8. DataTable讀取器加載速度很慢
- 9. hdparm和磁盤讀取速度
- 10. C++,boost asio,讀取速度慢
- 11. MySQL查詢速度或行讀取
- 12. glReadPixels()讀取速度緩慢GL_DEPTH_COMPONENT
- 13. 文件讀取/寫入速度
- 14. Android 2.1文件讀取速度很慢
- 15. 使文件讀取速度更快
- 16. python文本文件讀取速度慢
- 17. 速度來創建和讀取數據
- 18. BroadcastReceiver未從SharedPreferences讀取存儲的值
- 19. SharedPreferences不寫/讀
- 20. 閱讀SharedPreferences
- 21. SD卡的讀寫速度
- 22. 如何在Netty中處理讀取速度慢的讀者?
- 23. 從SQLite中的固定寬度列讀取速度更快嗎?
- 24. Android Xamarin:無法從SharedPreferences中讀取
- 25. SharedPreferences /變量未按順序讀取
- 26. 什麼時候從磁盤讀取SharedPreferences?
- 27. 從XML數組讀取sharedpreferences默認值
- 28. 使用Android SharedPreferences存儲和讀取KeyPair
- 29. SharedPreferences無法讀取文件(android 2.x)
- 30. 快速寫入性能,即使讀取速度很慢
SharedPreferences本質上是一個駐留在應用程序「沙箱」存儲中的xml文件。它可以通過亞行訪問和查看。 – hakanostrom