收藏
回答

监听滑动手势频繁setData的性能问题

我们目前有个需求是:根据用户的滑动手势动态改变一个元素的高度

目前的实现方法是:监听手势滑动,实时用setData更新元素样式绑定的高度值

结果有时元素刷新高度延迟很严重,有时是手势滑动完成后1-2s,高度变化的动画才开始


看文档说是频繁setData,造成了小程序的渲染模块阻塞了,有没有什么替代方案可以解决这个问题呢?

回答关注问题邀请回答
收藏

3 个回答

  • Yrobot
    Yrobot
    2019-03-12

    建议事件绑定的时候使用catch;将可以合并的setData合并;利用css3的动画属性例如transform属性去完成,不要直接动态改height,会引起重绘,增加渲染层压力。

    可以试试使用YrobotTouch,已经分装好了常用的手势事件:https://github.com/Yrobot/YrobotTouch-WXLP

    2019-03-12
    赞同 1
    回复
  • 卢霄霄
    卢霄霄
    2019-01-16

    如果页面不是滚动的,单纯滑动动作延迟,可以试试2个行为。。

    A:在json里增加 'usingComponents':''

    B:用动画来设置当前位置,timingFunction:'step-start'

    2019-01-16
    赞同 1
    回复
  • 不知道
    不知道
    2019-01-16

    弄个节流函数.这种动画最好不要在小程序做,有很多机型会很卡.

    2019-01-16
    赞同 1
    回复
登录 后发表内容