收藏
回答

skyline模式下为什么wx.getStorage首次执行时间慢,及页面onshow顺序不一样?

在app.js里的onLaunch中调用getStorage获取存储的个人信息,进入index页面需要该个人信息数据,在实际的项目中getStorage获取时间不一样,其表现如下:

1、index页面开启skyline模式(开发者工具开启skyline调试),app.js里的getStorage获取时间在100-700ms左右,但index页面onshow会在getStorage之后返回

2、index页面开启webview模式(开发者工具不开启skyline调试),app.js里的getStorage获取时间在100ms左右,但index页面onshow在getStorage之后返回

3、index页面开启webview模式(开发者工具开启skyline调试),app.js里的getStorage获取时间在1-3s左右,index页面onshow在getStorage之前返回

4、index页面开启skyline模式(开发者工具不开启skyline调试),app.js里的getStorage获取时间在700ms左右,index页面onshow在getStorage之前返回

5、在真机模式下,无论是webview还是skyline模式,app.js里的getStorage获取时间100ms左右,index页面onshow都在在getStorage返回之前


使用代码片段时:https://developers.weixin.qq.com/s/9QuKh2mv7oWr

使用代码片段时,时间会快一点,但是index页面onshow与onLaunch里的getStorage执行顺序跟实际项目的顺序是一样的

真机模式上和开发者工具表现的又不一样,在真机上console.time(),console.timeEnd()不生效,只能用打印时间出来

在真机skyline模式下,index页面会执行在前,



最后一次编辑于  2024-11-28
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2024-12-17

    符合预期,异步接口没有时序保证的,可能是因为 skyline 下调整了任务执行的顺序出现耗时不同的情况

    2024-12-17
    有用
    回复
登录 后发表内容