最近要在小程序里实现波形图的效果,我就使用了

setInterval和ctx.draw(),但是我发现,如果setinterval的频率过高,或者画布上画的东西过多,系统的内存就会飙升,帧率也会大幅度下降,然而我之前用js在html上这样画是没有问题的,作为一名菜鸟,真心的请教下是不是我哪里代码写的不对,具体代码如下


wxml

<view class='canvaDiv'>
展开全部
收起
2回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Z小姐

    12人对此回答表示赞同

    操作dom的动画,20fps对小程序来说就算极限了。

    展开
    12
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 黎明星晨

    5人对此回答表示赞同

    太频繁了,手机的处理能力不如电脑,而且这还是小程序。

    展开
    5
    6回复
    发布于 5年前

    评论(6)

    收起评论

    • Mr.Right 2019-01-29 20:54

      你有可能是清除的不对,小程序的clearInterval有bug的,可以把你清除的代码贴一下

      回复
    • 史蒂芬孙 2019-01-31 09:58

      频率降低就会好很多,当我设置成1秒重绘一次的时候,基本内存和帧率就很稳定了,但是我们这边要求这个波形要平滑的移动,这就至少要100毫秒重绘一次了。。。然而我试过100毫秒,根本不行,我再想想其他办法吧,谢谢你了

      回复
    • 景小茶 2019-02-03 00:32

      比如每秒系统能处理10条绘画,但是你每秒放了20条进去,那么积累起来的事件会变多,会是这个原因吗?你把频率降到很低了观察下呢

      回复
    • Radoslaw 2019-02-04 16:03

      试了一下,貌似还是不行

      回复
    • Josiah3 2019-02-06 19:51

      你试试每次画图的时候先清理下呢clearRect

      回复
    • Jayla 2019-02-08 13:05

      嗯,如果只有一条波的话会好很多,帧率也基本能保持在60,但是不知道为什么内存却整体上一直在增长,就好像是用来内存就不释放了一样,不知道是不是哪内存泄漏了,我js并不熟悉,网上查了下说有可能是闭包导致的,但是我理解的不是太明白,研究了半天还是每发现哪有问题,你能帮我在看一下吗

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部