Difference between Preference commit and apply
来源:互联网 发布:淘宝助理菜鸟组件 编辑:程序博客网 时间:2024/06/05 19:48
Apply:
Commit your preferences changes back from this Editor to the SharedPreferences object it is editing. This atomically performs the requested modifications, replacing whatever is currently in the SharedPreferences.
Note that when two editors are modifying preferences at the same time, the last one to call apply wins.
Unlike commit(), which writes its preferences out to persistent storage synchronously, apply() commits its changes to the in-memory SharedPreferences immediately but starts an asynchronous commit to disk and you won't be notified of any failures. If another editor on this SharedPreferences does a regular commit() while a apply() is still outstanding, the commit() will block until all async commits are completed as well as the commit itself.
As SharedPreferences instances are singletons within a process, it's safe to replace any instance of commit() with apply() if you were already ignoring the return value.
You don't need to worry about Android component lifecycles and their interaction with apply() writing to disk. The framework makes sure in-flight disk writes from apply() complete before switching states.
The SharedPreferences.Editor interface isn't expected to be implemented directly. However, if you previously did implement it and are now getting errors about missing apply(), you can simply call commit() from apply().
Commit:
Commit your preferences changes back from this Editor to the SharedPreferences object it is editing. This atomically performs the requested modifications, replacing whatever is currently in the SharedPreferences.
Note that when two editors are modifying preferences at the same time, the last one to call commit wins.
If you don't care about the return value and you're using this from your application's main thread, consider using apply() instead.
Returns
Returns true if the new values were successfully written to persistent storage.
- Difference between Preference commit and apply
- Difference between Commit,COMMIT_FORM and Do_Key('Commit_Form')
- What is the difference between call and apply?(关键词:call/apply/invoke)
- The difference between (()) and ().
- difference between "<" and "<<"
- JavaScript closure: difference between call and apply as well as use them to create inheritance
- Difference Between typedef and #define
- Difference between PCDATA and CDATA
- Difference between CComPtr and CComQIPtr
- Difference between RVCT and GCCE
- Difference between RVCT and GCCE
- difference between slist and list.
- difference between stack and heap
- Difference between replace and translate
- Difference between PrintWriter and PrintStream
- difference between Cookie and Session
- Difference Between Buffer and Cache
- Difference between Statement and preparedStatement
- mina简介
- 【央行意外降准,今天怎么操作?】敦和投资徐小庆:股市确实有可能会高开低走
- C语言位域精解
- Kepler性能分析之M2E调优
- Linux时间子系统之二:表示时间的单位和结构
- Difference between Preference commit and apply
- 【算法数据结构Java实现】Java实现动态规划(背包问题)
- SQLServer2008只能编辑前面200行数据
- Java freemarker demo 【struts + freemarker】 自己修改的一个小例子
- 循环左移字符串
- Linux时间子系统之三:时间的维护者:timekeeper
- Position Bias Correction for Search Behavior Analysis
- cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'.
- handler机制原理全面整理