MODE_MULTI_PROCESS

本文深入探讨了Android Shared Preferences中多进程加载标志的用法及其在不同SDK版本中的变化,解释了其与并发读写操作的关系,并强调了在多进程应用中的重要性。
/**
     * SharedPreference loading flag: when set, the file on disk will
     * be checked for modification even if the shared preferences
     * instance is already loaded in this process.  This behavior is
     * sometimes desired in cases where the application has multiple
     * processes, all writing to the same SharedPreferences file.
     * Generally there are better forms of communication between
     * processes, though.
     *
     * <p>This was the legacy (but undocumented) behavior in and
     * before Gingerbread (Android 2.3) and this flag is implied when
     * targetting such releases.  For applications targetting SDK
     * versions <em>greater than</em> Android 2.3, this flag must be
     * explicitly set if desired.
     *
     * @see #getSharedPreferences
     */

    public static final int MODE_MULTI_PROCESS = 0x0004;

看到settingManager在载入sharedPref时,getSharedPreferences()会使用这个标记,其实作用和C的violate有点像,

及该prefs在读入到内存以后,也有可能被其他的进程改变,那么,对与prefs的每次修改都要做出回应,适用于多进程。

这个行为在2.3以前是默认,后面要用必须显式的加上,估计是为了性能吧.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值