你真的了解SharedPreferences的Editor吗?很多人觉得,再熟悉不过了,经常使用它进行数据的存储。现在,有你可能不知道的,commit()方法,apply()方法,PS:知道的童鞋,自行绕道哈,不了解的可以继续看下去
commit方法,
有boolean类型返回值
当两个Edtior操作同一数据进行存储时,最终存储的数据,属于最后一个调用commit()的Editor
commit()是同步存储数据的
apply()方法,
没有返回值
apply()是先将数据保存到内存中,然后再异步的存储到磁盘上,同时apply()没有存储成功或者失败的返回提示
由于在实际开发中,SharePrefrence在应用中是单例的,忽略返回值的情况下,apply()替代commit()是安全的
谷歌建议,不考虑返回值,如果是在应用的主线程使用SharePrefrence存储数据,最好使用apply()代替commit()