大家都知道Android 和Flutter在使用sharePreference,可以在Android原生端通过sp的key增加“flutter.”来获取Flutter sp缓存数据,实现原生和Flutter缓存数据同步。然后当你已经打开过Flutter页面,再从原生端缓存数据,Flutter却无法获取,为什么呢?
在shared_preferences组件中,SharedPreferencesAndroid中每次remove、setValue、clear都会通过MethodChannel通知Android原生进行同步,而在原生中sp缓存文件,却只有在第一次初始化SharedPreferences的时候同步原生缓存到flutter:
故要实现在使用过程中原生缓存同步到Flutter?
1.要么每次在Android原生缓存数据改变时,改变_completer为null,重新初始化Flutter sp,从而实现数据同步;
2.自己写chanel通知Flutter,在Flutter端在进行数据缓存的增删。