收藏
回答

数据驱动视图,数据已经发生变化了,但是视图延迟更新,并且延迟时间较长

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug view 客户端 MIX 2 微信 6.7.3 小米安卓版 2.4.2[199]

Page的data数据已经发生了变化,但是视图延迟更新,并且延迟较长。


js代码:


控制台输出:


视图层:


未发生更新,视图层的原本逻辑为:



问题:数据没有实时或者稍有些微延迟更新,而是等了很久才发生更新(大于8s)。

最后一次编辑于  2018-12-07  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 黑白埋
    黑白埋
    2018-12-07

    放个代码片段

    https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2018-12-07
    赞同
    回复 4
    • 杨再勇
      杨再勇
      2018-12-07

      https://developers.weixin.qq.com/s/KJSl3tmd7H4U 生成了一个链接。

      2018-12-07
      回复
    • 黑白埋
      黑白埋
      2018-12-07回复杨再勇

      没有试出来,把scroll-view去掉试试

      2018-12-07
      回复
    • 黑白埋
      黑白埋
      2018-12-07

      在你代码基础上换了一种方式你看看有没有效果

      https://developers.weixin.qq.com/s/TP1Arump7E48

      2018-12-07
      回复
    • 杨再勇
      杨再勇
      2018-12-10回复黑白埋

      你这个会有轻微的问题,我试了试,如果滑动的太快的话,这个tab会延迟一会儿降下来,没有开发者工具一样,比较顺畅,可能是内存的缘故,但是也是比较好的方案了,起码现在每次都能较快的下来,比起以前的时间短了很多。现在考虑到实际的应用场景,已经做了降级处理。

      2018-12-10
      回复
  • 痛快科技
    痛快科技
    2018-12-07

    onPageScroll方法中使用setData容易引起性能问题,建议检查该方法中的业务逻辑

    2018-12-07
    赞同
    回复 3
    • 杨再勇
      杨再勇
      2018-12-07

      这个方法 每次都检查了data里面的值,每次页面滚动的时候,当超过或者未到达的时候,只会触发一次setData,不是因为这个问题吧。

      2018-12-07
      回复
    • 痛快科技
      痛快科技
      2018-12-07回复杨再勇

      没有重现,渲染速度正常。你本地是每次都会重现吗?

      2018-12-07
      回复
    • 杨再勇
      杨再勇
      2018-12-10回复痛快科技

      大部分安卓机会有这种情况,也不是所有的都会有,IOS就没有问题。

      2018-12-10
      回复