收藏
回答

小程序的移动拖动图片安卓太过卡顿如何解决

框架类型 问题类型 终端类型 操作系统 微信版本 基础库版本
小程序 Bug 客户端 Android 6.6.7 2.0.9


最后的this.setData的marginTop和marginLeft为控制图片的拖动。我看过官方的文档说不要频繁使用setData。但是不使用setData不知道如何实时的渲染到页面上啊

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

7 个回答

  • 咸鱼两面煎
    咸鱼两面煎
    2021-06-28

    我做完了 发现卡的要死,唉 感觉一下午的努力白费了, 真的离谱

    2021-06-28
    有用
    回复 1
    • 咸鱼两面煎
      咸鱼两面煎
      2021-06-28
      我用wxs重写了,,结果wxs这傻吊玩意???只支持es5的语法!!!真的离谱
      2021-06-28
      回复
  • 中
    2021-06-19

    catch:touchmove 直接用就行,现在流畅多了 直接setData值就可以了

    1、用 movable-view (不推荐,有些现成的效果但不灵活局限太大(没有旋转),而且不能监听拖动结束事件,,所以还是要不停的setData没有解决根本问题)

    2、wxs (推荐 将部分逻辑放在渲染层执行)https://developers.weixin.qq.com/miniprogram/dev/framework/view/interactive-animation.html

    3、关键帧动画(非常推荐 我感觉比第2种方法简单而且效果也更好,可以直接在逻辑层就直接修改渲染层的样式效果比setData好太多了,拖动结束要将最终值setData回去)

    https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html

    this.animate('#container', [
            {
                left: 20 + 'px',
                top: 20 + 'px'
            },
        ],
        0,
    )
    


    4、webview (不推荐 更极端的你可以在webview做那就是传统网页,根本没有通信非常流畅,比上面的都快)


    2021-06-19
    有用
    回复
  • Rychou
    Rychou
    2019-05-08

    可以参考一下我总结的文章:

    https://juejin.im/post/5cd18bb86fb9a0325031c8e1

    2019-05-08
    有用
    回复
  • nite
    nite
    2019-01-22

    楼主你好,请问你搞这个问题搞定没有,我开发中也遇见了拖拽缩放旋转图片的需求,在找解决方案


    2019-01-22
    有用
    回复 1
  • 一切随风
    一切随风
    2018-07-16

    列表中怎么设置动画  每个向下移动的位置不一样

    2018-07-16
    有用
    回复 2
    • 虾饺烧麦
      虾饺烧麦
      2018-07-16

      移动结束后,得讲最后移动的位置设置初始值

      2018-07-16
      回复
    • 一切随风
      一切随风
      2018-07-16回复虾饺烧麦

      列表中的图片,每张图片都向下移动一点 这个怎么设置   而且要看不见才能设置初始值

      2018-07-16
      回复
  • WGinit
    WGinit
    2018-06-07

    也刚做过,不建议用movable-view组件,坑实在太多,你可以把moveX和moveY放到一个数组里,最后再统一setData

    2018-06-07
    有用
    回复 2
    • 虾饺烧麦
      虾饺烧麦
      2018-06-07

      其实这样也会很卡,只能降低点卡顿。不是根本的办法。毕竟一拖动还是几毫秒的触发一次setData

      2018-06-07
      回复
    • WGinit
      WGinit
      2018-06-07回复虾饺烧麦

      目前体验可以吧,同求更好的优化方法

      2018-06-07
      回复
  • 卢霄霄
    卢霄霄
    2018-06-06

    这样来setData 确实会被卡得不要不要的,给你两个方案:

    1、用 movable-view (推荐)

    2、用动画来设置当前位置,timingFunction设置为 step-end (不推荐)

    2018-06-06
    有用
    回复 15
    • 虾饺烧麦
      虾饺烧麦
      2018-06-06

      我试过用transform:translate然而也是很卡

      2018-06-06
      回复
    • 虾饺烧麦
      虾饺烧麦
      2018-06-06

      我之前也想过用movable-view ,不过不支持放大还有旋转啊

      2018-06-06
      回复
    • 卢霄霄
      卢霄霄
      2018-06-06回复虾饺烧麦

      用wx.createAnimation的动画,他export的时候会清理掉上次的动画,所以不会一卡一卡的

      2018-06-06
      回复
    • 卢霄霄
      卢霄霄
      2018-06-06回复虾饺烧麦

      movable-view 有 scale属性啊,旋转倒是不可以

      2018-06-06
      回复
    • 虾饺烧麦
      虾饺烧麦
      2018-06-06回复卢霄霄

      有demo看看吗谢谢了

      2018-06-06
      回复
    查看更多(10)
登录 后发表内容