文档管理中心
|

HarmonyOS 5

怎么使用data_preferences remove实现移除key

已解决
data_preferences remove一个key后,下次使用 getAll还能获取到, put是可以的
点赞
收藏
回复
1
分享
举报
浏览162 编辑于2025-08-11 06:07广东
全部评论
最多点赞
最新发布
最早发布
|
采纳答复
data_preferences remove一个key后getAll依旧能获取到的问题

是因为 首次调用getPreferences接口获取某个Preferences实例后,该实例会被会被缓存起来,后续再次getPreferences时不会再次从持久化文件中读取,直接从缓存中获取Preferences实例  此时的getAll是调取的缓存

可参考以下解析: 

dataPreferences.removePreferencesFromCache

removePreferencesFromCache(context: Context, name: string, callback: AsyncCallback<void>): void

从缓存中移出指定的Preferences实例,使用callback异步回调。

应用首次调用getPreferences接口获取某个Preferences实例后,该实例会被会被缓存起来,后续再次getPreferences时不会再次从持久化文件中读取,直接从缓存中获取Preferences实例。调用此接口移出缓存中的实例之后,再次getPreferences将会重新读取持久化文件,生成新的Preferences实例。

调用该接口后,不建议再使用旧的Preferences实例进行数据操作,否则会出现数据一致性问题,应将Preferences实例置为null,系统将会统一回收。

dataPreferences相关api指南链接请访问:  https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-data-preferences

调用该接口后,不建议再使用旧的Preferences实例进行数据操作,否则会出现数据一致性问题,应将Preferences实例置为null,系统将会统一回收。

dataPreferences相关api指南链接请访问:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-data-preferences

1楼编辑于2025-11-01 03:54 来自广东
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要提问题

了解社区公约,与您携手共创和谐专业的开发者社区。