Android 为什么不在所有应用程序中使用PreferenceManager.setDefaultValues(readReach=true)?

Android 为什么不在所有应用程序中使用PreferenceManager.setDefaultValues(readReach=true)?,android,Android,Android设置指南建议使用readreach=false调用PreferenceManager.setDefaultValues()。在这种情况下,preferences.xml中的默认值仅在第一次启动应用程序时(或在“清除数据”之后)加载一次 如果添加了一个新的首选项,它的android:defaultValue不会被加载,我选中了 那么为什么没有人使用readreach=true?谷歌搜索结果: 10 "PreferenceManager.setDefaultValues(this,

Android设置指南建议使用
readreach=false
调用
PreferenceManager.setDefaultValues()
。在这种情况下,
preferences.xml
中的默认值仅在第一次启动应用程序时(或在“清除数据”之后)加载一次

如果添加了一个新的首选项,它的
android:defaultValue
不会被加载,我选中了

那么为什么没有人使用
readreach=true
?谷歌搜索结果:

10  "PreferenceManager.setDefaultValues(this, R.xml.preferences, true)"
60k "PreferenceManager.setDefaultValues(this, R.xml.preferences, false)"

缺点是什么?

此参数通常设置为false,因为此参数确保仅为未初始化的共享首选项设置默认值。将此值保持为false将确保不会覆盖用户修改的设置。如果您允许用户将所有应用程序设置重新设置为初始应用程序设置,则此字段非常有用。

我认为,它无法覆盖用户修改的设置。它只能加载默认值。