SharedPreferences.Editor 的apply()与commit()方法的区别?

apply()方法

  1. apply()方法没有返回值;
  2. apply()方法先提交到内存是一个原子操作,然后异步提交到Disk。如果有两个editors同时修改preferences,最后一个调用apply()方法的会成功。apply()方法因为异步提交到Disk,所以效率更高。

commit()方法

  1. commit()方法有返回值;
  2. commit()方法是直接提交到Disk,是一个原子操作,如果两个editors同时修改preferences,最后一个调用commit()方法的会成功。

总结:apply()方法和commit()方法都是先提交到内存,commit是同步提交到硬盘,并且有返回值;而apply()方法是异步提交到硬盘,没有返回值。


参考资料:
 
有关SharedPreferences 的commit和apply分析

    原文作者:cherrlasea
    原文地址: https://blog.csdn.net/hxltech/article/details/59498754
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞