共享首选项作为键值对存储在 xml 文件中。这是事实。 我还没有找到关于击球手的任何文档,但是......当试图找到并加载某个键的值时,它实际上是如何在 xml 中查找键的?它是将整个 xml 文件加载到内存中然后搜索 key ,还是使用其他对内存更友好的方法来遍历每个 key ?
我遇到了一个应用程序,它在共享首选项中存储大量键值对而不是使用数据库(有很多!)我的直觉是这会占用大量内存,因为它会加载将整个文件存入内存只是为了检索特定项目。
任何人都可以阐明这是如何“在引擎盖下”工作的吗?
谢谢!
最佳答案
Does it load the entire xml file into memory and then searches for the key...?
是的,至少在the standard implementation .从技术上讲,SharedPreferences
是一个接口(interface),但 AFAIK SharedPreferencesImpl
是 Context
用于 getSharedPreferences()
等方法的实现.
关于android - SharedPreferences 值检索如何工作 "under the hood",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48712654/