android SharedPreferences
迁移到mmkv
1、 检查项目获取SharedPreferences
的位置使所有SharedPreferences
都从application
的context
获取
2、 在appliction
中重写getSharedPreferences
方法如下
@Override
public SharedPreferences getSharedPreferences(String name, int mode) {
Set<String> set = AppConfig.INSTANCE.getMigratedSharedPreferences();
MMKV mmkv = MMKV.mmkvWithID("SharedPreferences_Migrated_" + name, mode);
if (!set.contains(name)) {
set.add(name);
AppConfig.INSTANCE.setMigratedSharedPreferences(set);
SharedPreferences preferences = super.getSharedPreferences(name, mode);
mmkv.importFromSharedPreferences(preferences);
}
return mmkv;
}
- mmkv没有实现getAll的方法。使用到getAll方法的SharedPreferences 都不能替换。例如bugly