HarmonyOS 使用PersistentStorage本地持久化存储一段40kb左右的字符串存储失败,重新打开app时值仍为空

HarmonyOS 使用PersistentStorage本地持久化存储一段40kb左右的字符串存储失败,重新打开app时值仍为空。

HarmonyOS
2024-09-30 11:44:40
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

PersistentStorage和UIContext相关联,需要在UIContext明确的时候才可以调用,可以通过在runScopedTask里明确上下文。如果没有在UIContext明确的地方调用,将导致无法持久化数据。在onWindowStageCreate中调用示例如下:

windowStage.loadContent('pages/Index', (err, data) => {  
  if (err.code) {  
    hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');  
    return;  
  }  
  let window = windowStage.getMainWindow();  
  window.then(win => {  
    let uiContext = win.getUIContext();  
    uiContext.runScopedTask(() => {  
      PersistentStorage.persistProp('aProp', 47);  
    })  
  })  
  hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');  
});
分享
微博
QQ
微信
回复
2024-09-30 17:04:59
相关问题
PersistentStorage持久存储问题
568浏览 • 0回复 待解决
HarmonyOS 持久存储方案
317浏览 • 1回复 待解决
判断字符串是否和空白符
1500浏览 • 1回复 待解决
如何实现应用数据持久存储
2196浏览 • 1回复 待解决
关于数据持久存储要如何实现
553浏览 • 2回复 待解决
HarmonyOS 字符串格式异常
479浏览 • 1回复 待解决
转换整个字符串字符小写
350浏览 • 1回复 待解决
PersistentStorage如何持久个对象?
2810浏览 • 1回复 待解决
转换整个字符串字符大写
469浏览 • 1回复 待解决
HarmonyOS dataPreferences不是持久存储
436浏览 • 1回复 待解决