收藏
回答

Laya drawToCanvas 截图保存有概率导致微信闪退

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小游戏 Bug iOS 13.2.3 IPHONE XS 7.0.8

用laya引擎开发,调用drawToCanvas截图, 然后调用微信wx.authorize, canvas.toTempFilePath, wx.saveImageToPhotosAlbum,有一定概率会导致微信闪退

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

2 个回答

  • 小游戏运营专员-宏
    小游戏运营专员-宏
    2019-12-09

    你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点

    2019-12-09
    赞同
    回复 9
    • GJW🧱
      GJW🧱
      2019-12-10
      微信: wym520hsy 时间: 2019-12-09 已上传
      2019-12-10
      回复
    • 小游戏运营专员-宏
      小游戏运营专员-宏
      2019-12-10回复GJW🧱
      能否再提供下简单的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
      2019-12-10
      回复
    • GJW🧱
      GJW🧱
      2019-12-10
      公司太封闭,无法搞代码片段上传
      我用记事本写了主要的部分,就是正常的流程,又在其他几个手机上测了,都没问题,只有iPhonexs概率性出问题


      this.photo_canvas2 = pic.drawToCanvas(Laya.stage.width,Laya.stage.height,pic.width/2,pic.height/2);
      shotScreen(this.photo_canvas2.getCanvas(),()=>{});
      public shotScreen(canvas:any, cbk?:Function){
       wx.authorize({
        scope:'scope.writePhotosAlbum',
        success(res){
         console.log('相册授权‘)
         let sysInfo = wx.getSystemInfoSync();
         canvas.toTempFilePath({
          x:0,
          y:0,
          width:sysInfo.screenWidth*2,
          height:sysInfo.screenHeight*2,
          destWidth:sysInfo.screenWidth*2,
          destHeight:sysInfo.screenHeight*2,
          success:(res)=>{
           wx.saveImageToPhotosAlbum({
            filePath:res.tempFilePath,
            success(res){
             wx.showToast({
              title:'保存成功'
             });
             cbk && cbk();
            };
           });
          }
         });
        },
        file(err){
         wx.showToast({
          title:'无存储'
         });
         cbk && cbk();
        }
       });
      }
      2019-12-10
      回复
    • GJW🧱
      GJW🧱
      2019-12-10
      上报的日志看不出问题吗
      2019-12-10
      回复
    • 小游戏运营专员-宏
      小游戏运营专员-宏
      2019-12-10回复GJW🧱
      堆栈看不出来,所以最好可以重现看看。
      2019-12-10
      回复
    查看更多(4)
  • jack
    jack
    2019-12-10

    你可以试一下 只绘制width或者只绘制height会不会闪退

    2019-12-10
    赞同
    回复 2
    • GJW🧱
      GJW🧱
      2019-12-11
      只绘制width或者height是什么意思
      2019-12-11
      回复
    • jack
      jack
      2019-12-11回复GJW🧱
      就是 canvas.toTempFilePath({
          x:0,
          y:0,
          width:sysInfo.screenWidth*2,
          height:sysInfo.screenHeight*2,
          destWidth:sysInfo.screenWidth*2,
          destHeight:sysInfo.screenHeight*2,
          success:(res)=>{
           wx.saveImageToPhotosAlbum({
            filePath:res.tempFilePath,
            success(res){
             wx.showToast({
              title:'保存成功'
             });
             cbk && cbk();
            };
           });
          }
         });
        },
      你这个里面 可以试着去掉y 或者 height 试一下 把某一个参数去掉 不传值
      2019-12-11
      回复
登录 后发表内容
问题标签