HarmonyOS 鸿蒙Next 使用首选项持久化存储问题:清除并杀进程后,再次打开app能否获取到之前删除的内容

HarmonyOS 鸿蒙Next 使用首选项持久化存储问题:清除并杀进程后,再次打开app能否获取到之前删除的内容

app登录时使用首选项putSync持久化存储token,退出登录时deleteSync清除token并退到登录页,此时已经获取不到删除的token,然后杀进程,再次打开app,这时却能获取到之前的删除token。怎样才能彻底删除?

2 回复

经测试验证put后退出app,重新打开app是获取不到put值的。暂时不知道你那边代码逻辑。验证代码也很简单,您可以自己试一下
 

let preferences: sendablePreferences.Preferences;

let options: sendablePreferences.Options = { name: ‘myStore’ };

preferences = sendablePreferences.getPreferencesSync(getContext(this), options);

Text(this.putMessage).fontSize(32)

Button(‘获取数据’).onClick(()=> {

this.putMessage = preferences.getSync(‘startup’, ‘default’) as string

console.log(‘put—message—’ + preferences.getSync(‘startup’, ‘default’))

})

Button(‘跳转下一页面’).onClick(()=>{

preferences.putSync(‘startup’, ‘auto’);

})

更多关于HarmonyOS 鸿蒙Next 使用首选项持久化存储问题:清除并杀进程后,再次打开app能否获取到之前删除的内容的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS 鸿蒙Next 使用首选项持久化存储问题,即清除并杀进程后,再次打开app能否获取到之前删除的内容,以下给出专业解答:

在HarmonyOS中,使用首选项(Preferences)进行持久化存储时,如果已明确调用deleteSync方法删除了某个键值对,并确认删除操作成功,那么在清除进程并重新打开app后,理论上是不应该再获取到之前已删除的内容的。

若在实际操作中遇到了删除后仍能获取到内容的情况,可能的原因包括但不限于:

  • 删除操作未成功执行,或存在代码逻辑错误导致删除操作被绕过。
  • 应用在后台被恢复时,某些数据被自动恢复或重建。
  • 存储机制或系统bug导致的数据异常。

针对这类问题,建议仔细检查删除操作的代码逻辑,并确保在删除后调用flush方法将内存中的数据写入持久化文件中。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部