1. 程式人生 > >SharedPreferences.Editor的apply和commit方法區別

SharedPreferences.Editor的apply和commit方法區別

SharedPreferences.Editor的apply 和commit方法的區別:

1.apply沒有返回值而commit返回boolean表明修改是否成功;

2.apply是將修改資料原子提交到記憶體,而後非同步真正提交到硬碟,而commit是同步的提交到硬體磁碟,因此,在多個併發的提交commit的時候,他們會等待正在處理的commit儲存到磁碟後操作,從而降低了效率。而apply只售原子的提交到內容,後面有呼叫apply的函式將會直接覆蓋前面的記憶體資料,從一定程度上提高了很多效率。

3.apply方法不會提示任何失敗的提示。

由於在一個程序中,SharedPreferences是單例項,一般不會出現併發衝突,如果對提交的結果不關心的話,建議使用apply,當然需要確保提交成功後且有後續操作的話,還是要用commit。