手机网站空间,wordpress改微博系统,施工企业工程施工科目,俄罗斯乌克兰为什么打仗uniapp中使用原生canvas标签绘制视频帧来模拟拍照#xff0c;拍照后将图绘制在另外一个canvas上编辑画图#xff0c;这样反复操作会导致ios系统上白屏#xff0c;canvas2d上下文为null,经查阅找到相关资料 IOS 创建Canvas过多导致getContext(‘2d’) 返回null 总 Canvas 内存…uniapp中使用原生canvas标签绘制视频帧来模拟拍照拍照后将图绘制在另外一个canvas上编辑画图这样反复操作会导致ios系统上白屏canvas2d上下文为null,经查阅找到相关资料 IOS 创建Canvas过多导致getContext(‘2d’) 返回null 总 Canvas 内存使用超过最大限制 (Safari 12) 从一个 bug 中延伸出 canvas 最大内存限制和浏览器渲染原理 可以提供一些启发解决思路最终在项目中这样解决的
beforeDestroy() {this.timer clearInterval(this.timer);this.closeCamera()this.video nullif(this.canvas){this.canvas.width 0this.canvas.height 0this.canvas nullthis.canvas2d null}if(this.cameraCanvas){this.cameraCanvas.width 0this.cameraCanvas.height 0this.cameraCanvas nullthis.cameraCanvas2d null}
},项目中还用了fabricjs同样需要
fabricCanvasDispose() {console.log(释放内存)if (this.fabricCanvas) {let el this.fabricCanvas.getElement()this.fabricCanvas.dispose();el.remove()this.fabricCanvas null;}if (this.canvas) {this.canvas.width 0this.canvas.height 0this.canvas null;this.canvas2d null;}
}