SharedPreferences 的使用,commit和apply两个方法的区别
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
SharedPreferences sp = getSharedPreferences("config",MODE_PRIVATE);
//第一個參數(shù):存儲文件的名稱,第二個參數(shù)文件的訪問權限,通常MODE_PRIVATE是私有存儲
sp.edit().putString("USERNAME",usernameStr).putString("PASSWORD",passwordStr).commit;
//第一個參數(shù)Key值,第二個參數(shù)Value值
String spUsernameStr = sp.getString("USERNAME","");
String spPasswordStr = sp.getString("PASSWORD","");
commit 和apply方法
這兩個方法的區(qū)別在于:
1. apply沒有返回值而commit返回boolean表明修改是否提交成功
2. apply是將修改數(shù)據(jù)原子提交到內(nèi)存, 而后異步真正提交到硬件磁盤, 而commit是同步的提交到硬件磁盤,因此,在多個并發(fā)的提交commit的時候,他們會等待正在處理的commit保存到磁盤后在操作,從而降低了效率。而apply只是原子的提交到內(nèi)容,后面有調(diào)用apply的函數(shù)的將會直接覆蓋前面的內(nèi)存數(shù)據(jù),這樣從一定程度上提高了很多效率。
3. apply方法不會提示任何失敗的提示。 由于在一個進程中,sharedPreference是單實例,一般不會出現(xiàn)并發(fā)沖突,如果對提交的結果不關心的話,建議使用apply,當然需要確保提交成功且有后續(xù)操作的話,還是需要用commit的。
轉(zhuǎn)載于:https://my.oschina.net/lanyu96/blog/2248175
總結
以上是生活随笔為你收集整理的SharedPreferences 的使用,commit和apply两个方法的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: x27有什么功能
- 下一篇: Chrome remote debugg