文章目录

前言

最近接手了一个项目,由于项目比较老,没有一个好的架构,发现 ​​context.getSharedPreferences​​ 的代码满天飞。

比如 ;

Android 全面剖析SharedPreferences_android


随即产生一个疑问,如果我多次调用 ​​context.getSharedPreferences​​ , 那么获取的 SharedPreferences 实例是一个,还是多个????????

Android 全面剖析SharedPreferences_SP_02

直接说答案:

相同的 fileName , 不管调用多少次,SharedPreferences 都是同一个实例。

也就是说 SharedPreferences 一旦被创建,就会在一个 map 中保存起来,map 的 key 就是 SharedPreferences 的 fileName。

相关的实现类在 ​​ContextImpl​​ 中