启动和调试的行为不一致

启动和调试的行为不一致。

调试日志:

04-02 18:49:42.819   27581-27581  A00000/testTag                 com.example.test      I     Ability onForeground 
04-02 18:49:42.853   27581-27581  A00000/testTag                 com.example.test      I     Succeeded in loading the content. Data: 
04-02 18:49:42.867   27581-27581  A00000/testTag                 com.example.test      I     获取rdbStore成功! 
04-02 18:49:42.874   27581-27581  A00000/testTag                 com.example.test      I     count: 0 
04-02 18:50:16.283   27581-27581  A00000/testTag                 com.example.test      I     写入5951条数据 
04-02 18:50:22.165   27581-27581  A00000/testTag                 com.example.test      I     new count: 5899 
启动日志: 
04-02 18:52:32.927   31017-31017  A00000/testTag                 pid-31017             I     Ability onWindowStageCreate 
04-02 18:52:32.929   31017-31017  A00000/testTag                 pid-31017             I     Ability onForeground 
04-02 18:52:32.973   31017-31017  A00000/testTag                 pid-31017             I     Succeeded in loading the content. Data: 
04-02 18:52:32.978   31017-31017  A00000/testTag                 pid-31017             I     获取rdbStore成功! 
手动滑出app再打开日志: 
04-02 18:53:00.949   31569-31569  A00000/testTag                 pid-31569             I     获取rdbStore成功! 
04-02 18:53:00.977   31569-31569  A00000/testTag                 pid-31569             I     Succeeded in loading the content. Data: 
04-02 18:53:00.982   31569-31569  A00000/testTag                 pid-31569             I     count: 0 
04-02 18:53:01.142   31569-31569  A00000/testTag                 pid-31569             I     写入5951条数据 
04-02 18:53:06.357   31569-31569  A00000/testTag                 com.xxx.weather      I     new count: 5879

也就是启动时没有执行检查数据库大小并重写操作,如果是失败,也没有失败日志。

HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

​从代码看, getRdbStore 这个也是异步接口,建议将relationalStore.getRdbStore 获取rdbstore的操作也放在一个async 修饰的方法里。数据库的操作大部分都是异步的,如果启动时需要及时获取数据,建议都改成同步调用,可参考​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/data-persistence-by-rdb-store-V5​。

理论上来说启动app时,执行excuteSql 异步操作,线程应该是进入等待或执行中,可以观察下数据库在sql执行完成后最终数据库的变化是否正确。​

分享
微博
QQ
微信
回复
7天前
相关问题
签名不一致报错怎么回事?
2477浏览 • 1回复 待解决
napi里面,相同输入输出不一致
1553浏览 • 1回复 待解决
water flow 出现gap不一致问题
585浏览 • 1回复 待解决
Path组件绘制线条粗细不一致
1805浏览 • 1回复 待解决
文字空行高度与字体高度不一致
1985浏览 • 1回复 待解决
window 全屏操作不同设备表现不一致
263浏览 • 1回复 待解决