收藏
回答

安卓 canvas 绘制崩溃?

在安卓上绘制了一个canvas时高概率崩溃,宽度没有问题。

wx.createSelectorQuery()
    .select('#cvs4')
    .fields({
        nodetrue,
        sizetrue,
    })
    .exec((res) => {
      if (!res[0]) return
      const canvas = res[0].node
      const ctx4 = canvas.getContext('2d')

      // 设置canvas 高宽
      const dpr = wx.getSystemInfoSync().pixelRatio
      canvas.width = 0
      console.log(' draw count line is:'0 )
      canvas.width = _pixW * dpr
      console.log(' draw count line is:'1 )
      canvas.height = _pixH * dpr
      ctx4.scale(dpr, dpr)
      console.log(' draw count line is:'2 )
            ctx4.font = `${rpxToPx(100)}px`
      ctx4.textBaseline = 'middle'
      ctx4.fillText(`${count}`, getPointX(), rpxToPx(textBasePxH / 2 + 20));
      console.log(' draw count line is:'4 )
   })


 每次发生崩溃时代码运行到这一行小程序就崩了: ctx4.fillText(`${count}`, getPointX(), rpxToPx(textBasePxH / 2 + 20));
最后一次编辑于  2021-09-06
回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员-阳光
    社区技术运营专员-阳光
    2021-09-06

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2021-09-06
    有用
    回复
  • 爱码士
    爱码士
    2021-09-06

    之前代码是当有数据的时候才生成canvas; 今天修改了一下,canvas一直存在就不会崩了;

    但是由于我的组件是放到直播视频上的,旋转之后dom就被重新加载了,必崩;

    有没有官方人员看下,是不是canvas没有清理导致的崩溃,如何解决一下?

    2021-09-06
    有用
    回复
  • Listen
    Listen
    2021-09-06
    ctx4.fillText('test...'00); // 写死看下还会崩咩
    
    2021-09-06
    有用
    回复 1
    • 爱码士
      爱码士
      2021-09-06
      还是会崩。
      2021-09-06
      回复
  • 梦吗
    梦吗
    2021-09-06

    模拟器上有问题吗,有没有报错,是单一机型还是其他机型都有

    2021-09-06
    有用
    回复 1
    • 爱码士
      爱码士
      2021-09-06
      模拟器没报错, 还有个其他的功能也用到canvas; 动画绘制完放哪里10s就自动崩了。
      2021-09-06
      回复
登录 后发表内容