在android上使用太多SharedPreferences
有什麼缺點?使用SharedPreferences的缺點?
回答
如果您嘗試使用SharedPreferences進行任何複雜的操作,很快就會變得非常繁瑣;你只能存儲原始類型,它是一個簡單的鍵/值系統。所以,本身沒有缺點,但SharedPreferences是爲簡單數據的輕量級存儲而設計的。
您應該只使用SharedPreferences存儲與用戶配置相關的小數據位。它只能存儲基本的數據類型,所以如果你有更復雜的信息位,你應該切換到另一個機制。
SharedPreferences的一個方便功能是您可以在使用它的兩個應用程序之間共享數據;所以如果您有兩個必須共享用戶偏好的應用程序,使用SharedPreferences可能是一個方便的選擇。
另外,您不應該在SharedPreferences中存儲大量數據;這不是爲了這個。相反,使用SQLite數據庫(1)來獲得更強大的解決方案。
(1)http://developer.android.com/reference/android/database/sqlite/package-summary.html
謝謝你非常翔實。 – wesdfgfgd
共享偏好用於快速訪問,併爲與應用程序一起快速存取內存加載...因此,如果您嘗試存儲大量的共享偏好數據...它會導致您的應用程序的關鍵內存更多的使用(我猜如果太大以至於無法在內存中存儲某些交換會導致性能影響)。更好地使用DB /文件系統/ Web服務器獲取大量數據... 。通過存儲應用程序經常訪問的少量信息,您實際上可以提高應用程序的性能。
用戶可以隨時清除存儲在共享首選項中的數據。這是共享偏好的主要缺點。
要考慮的第一點是共享首選項是非易失性數據。所以它們作爲應用程序數據存儲爲鍵值對。因此,在您的應用中廣泛使用它們可能會變得很複雜。而且,爲了處理吞吐量,它不會影響您的應用速度,因爲它們存儲在/作爲輔助存儲。
- 1. 使用≠like!=優點/缺點
- 2. 缺點使用宏
- 3. 使用SharedPreferences的ClassCastException
- 4. 使用Arrays.asList的優缺點
- 5. 使用Basic4Android的缺點?
- 6. 使用sqlite的缺點?
- 7. 使用EOF的缺點?
- 8. 使用jInternalFrame的缺點
- 9. 使用MessageFormat的優缺點
- 10. 使用ThreadPool的缺點
- 11. 使用scriptlet的缺點?
- 12. 使用HTTPS的缺點?
- 13. 使用SetProcessWorkingSetSize的優缺點
- 14. 使用log4j的優缺點
- 15. 使用IQueryable的缺點!
- 16. 使用date_trunc的缺點
- 17. Android:NullPointerException使用SharedPreferences
- 18. 使用SharedPreferences
- 19. 使用socketio心跳的優點/缺點
- 20. 使用java rmi的優點和缺點
- 21. 使用ReactJS的優點和缺點
- 22. 使用指針的優點/缺點
- 23. 使用startManagingCursor()的優點和缺點
- 24. 使用LOGO的缺點/缺點是什麼?
- 25. 使用WebServiceHostFactory優缺點
- 26. 如何使用SharedPreferences
- 27. 節約使用sharedpreferences
- 28. 當我使用SharedPreferences
- 29. 檢索使用Sharedpreferences
- 30. 使用Mockito和Dagger的SharedPreferences
問題:如果我要說我會在字符串中加載500kb的值,會導致應用程序出現問題嗎? – wesdfgfgd
不一定,但正如我所說的,你不應該使用sharedpreferences來處理大量的東西......這就是你尖叫你需要使用數據庫或其他方式的持久化數據。 – LuxuryMode
非常感謝,我幫了我很多。 – wesdfgfgd