Closed jiachengliu closed 4 years ago
该 SharedUtils 实现,最终都是调用 SharedPreferences.Editor apply()
apply 是将修改数据原子提交到内存, 而后异步真正提交到硬件磁盘, 而 commit 是同步的提交到硬件磁盘
实际操作,应该在存储后,延迟一会,才进行 killProcess、finish()
该 SharedUtils 实现,最终都是调用 SharedPreferences.Editor apply()
apply 是将修改数据原子提交到内存, 而后异步真正提交到硬件磁盘, 而 commit 是同步的提交到硬件磁盘
实际操作,应该在存储后,延迟一会,才进行 killProcess、finish()
看出来了,但是会有人也遇到同样的情况。
该 SharedUtils 实现,最终都是调用 SharedPreferences.Editor apply()
apply 是将修改数据原子提交到内存, 而后异步真正提交到硬件磁盘, 而 commit 是同步的提交到硬件磁盘
实际操作,应该在存储后,延迟一会,才进行 killProcess、finish()
我现在把这个类复制出来改成commit了。
因为如果使用 commit 会堵塞线程,如果有特殊需求,可以单独 copy 实现这样的需求
com.github.afkT:DevUtils:1.7.6@aar
当下面三行同时执行
的时候,有时候数据是保存不成功的。 单单执行
SharedUtils.put(“k”,v);
是没问题的。