Android SharedReferences.Editor commit()是否只写回所做的更改,还是写回整个首选项集?

Android SharedReferences.Editor commit()是否只写回所做的更改,还是写回整个首选项集?,android,sharedpreferences,android-preferences,Android,Sharedpreferences,Android Preferences,当您在SharedReferences.Editor上调用commit时,它是否只写回 已更改,或者它是否也会回写其链接的SharedReference对象中的所有值,无论这些值是否已更改?来自: 将首选项更改从该编辑器提交回它正在编辑的SharedReferences对象。这将以原子方式执行请求的修改,替换当前在SharedReference中的任何内容 这似乎表明,如果数据相同,则只会修改数据,而不会覆盖数据。请记住,多次调用commit()只会产生一个更改(最后一个)。是的,我也看到了,希

当您在SharedReferences.Editor上调用commit时,它是否只写回 已更改,或者它是否也会回写其链接的SharedReference对象中的所有值,无论这些值是否已更改?

来自:

将首选项更改从该编辑器提交回它正在编辑的SharedReferences对象。这将以原子方式执行请求的修改,替换当前在SharedReference中的任何内容


这似乎表明,如果数据相同,则只会修改数据,而不会覆盖数据。请记住,多次调用
commit()
只会产生一个更改(最后一个)。

是的,我也看到了,希望这就是它的意思,但是我想看看是否有人通过经验确定它是否会在SharedReferences中破坏未更改的值。查看SharedReferencesImpl()的源代码后,编辑器维护了修改的HashMap,并且只应用这些修改。没有未修改值的碰撞。@nEx.Software伟大的资源和链接@软件真棒,这正是我想要的。