2012-07-22 11 views

回答

2

the documentation

提交自己的喜好從這個編輯器的SharedPreferences對象是編輯改變回來。這會自動執行請求的修改,替換SharedPreferences中當前的任何內容。

它似乎表明數據只被修改,如果它是相同的,不會覆蓋。請記住,多次調用commit()只會產生一個更改(最後一個)。

+0

是的,我也看到了這一點,並希望那是什麼意思,但我想看看是否有人肯定/通過經驗是否在SharedPreferences中暴露未改變的值.. – 2012-07-22 19:28:06

+0

「Clobbers」?怎麼會這樣? – Eric 2012-07-22 19:31:22

+3

查看SharedPreferencesImpl的源代碼(https://github.com/CyanogenMod/android_frameworks_base/blob/jellybean/core/java/android/app/SharedPreferencesImpl.java),編輯器維護一個修改的HashMap並且僅適用於這些修改。沒有修改未修改的值。 – 2012-07-22 20:08:56