• SharedPreference.Editor的apply与commit方法不同之处


    定义:

    void apply

    boolean commit;

    相同:二者都是提交修改的数据

    手机里的文件存放在/data/data/<package_name>/shared_prefs 目录下

    不同:

    1.apply没有返回值  并且api 9开始支持       

    软件在使用的时候,需要添加 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { //api 9开始引入apply方法
    来决定是否引用apply
    }

    commit返回boolean

    表明修改是否提交成功。


    2.apply是将修改数据提交到内存,而后异步真正提交到硬件磁盘;

    而commit是同步的提交到硬件磁盘;

    因此,在多个并发的提交commit的时候,他们会等待正在处理的commit保存到磁盘后在操作,从而降低了效率。

    而apply只是将修改提交到内存,后面有调用apply的将会直接覆盖前面的内存数据,这样从一定程度上提高了很多效率。


    3.apply方法不会提示任何失败的提示。


    综合上述,由于在一个进程中,SharedPreference是单实例,一般不会出现并发冲突, 如果对提交的结果不关心的话,建议使用apply,这样有利于提高性能。

    当需要有返回值的时候,还是需要用commit的。

  • 相关阅读:
    file
    shell脚本的执行
    添加源,删除源
    lsattr, chattr
    umask
    od
    init
    sync
    wc
    history
  • 原文地址:https://www.cnblogs.com/jiduoduo/p/5201568.html
Copyright © 2020-2023  润新知