CodeEggDailyInterview
CodeEggDailyInterview copied to clipboard
SharedPreferences 存储比较大或者比较多的键值对会有什么问题吗?为什么?
SharedPreferences 是一种轻量级的存储方式,之所以轻量级是由其设计所决定的,因为 SharedPreferences 在创建的时候会把整个文件全部加载进内存,所以如果 SharedPreferences 文件比较大就会带来如下一些性能问题:
-
首次从 SharedPreferences 获取值时可能阻塞主线程从而使 UI 界面卡顿丢帧。
-
解析 SharedPreferences 时会产生大量的临时对象而导致频繁 GC 使得 UI 界面卡顿丢帧。
-
被解析的同一个 SharedPreferences 文件的内容会占用大量内存。