文字来自 承香墨影
1 使用
SharedPreferences sp =context.getSharedPreferences(FILLNAME,Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
2 apply() commit() 区别
1 apply()没有返回值,而commit()是有返回值的,返回值标识着是否执行成功
2 apply()的操作是原子提交到内存中,然后以异步的方式保存到磁盘上,而commit()完全是以同步的方式将数据保存到磁盘上。(同步,异步)
3 apply()因为没有返回值,所以不会提示任何失败
edit()是有效率影响的,所以不要在循环中去调用吃方法,最好将edit()方法获取的Editor对象方在循环之外,在循环中共用同一个Editor()对象进行操作。
commit()的时候,「new-key」和「update-key」的效率是有差别的,但是有返回结果。
apply()是异步操作,对效率的影响,基本上是ms级的,可以忽略不记。
网友评论