[]关于HTMLCanvas对象的释放问题

我在棋牌游戏中用了HTMLCanvas来对每一局游戏的结果进行截图。需要保存最近10局的截图。最近10局以外的截图部分需要从内存释放掉。但试过HTMLCanvas的方法:destroy ,dispose,clear都不行。在程序中会报错。每一张截图,会占用内存大概3.5M。如果不能释放,随着牌局的增加,内存耗用会无限加大。我需要用哪种方式来释放这部分截图内存?或者是还有其他什么方法能截图并可以释放掉内存?
已邀请:

cuixueying

赞同来自:

麻烦提供一个可以重现问题的示例吧,我们来查下什么问题!

leoganliang

赞同来自:

试着改了使用image  dispose,内存也不见释放。代码如下:
var kk1:HTMLCanvas = this.HistoryArray.pop()[0];
               var img:Image = new Image();
                img.src = kk1.toDataURL();
                img.dispose();
 
详见附件。这次不会那么强大了

Laya_XS

赞同来自:

游戏里的图片销毁,小于512图的话清理不要内存,因为被存放到大图合集里了,大于512的图片可以直接调用image的dispose就可以吧图片清理掉!还有你的demo有问题,点击两下把电脑搞死机了,很强大!

cuixu_xucui

赞同来自:

我也遇到了,还没显示到Image里,只是根据鼠标移动做drawToCanvas就内存溢出了,LZ怎么解决的

if(this._htmlC){
this._htmlC.destroy();
}
this._htmlC = this.zoomBox.drawToCanvas()
 

cuixu_xucui

赞同来自:

刚更新到1.7.12就解决了

zqn951201

赞同来自:

亲,我想问问你最后怎么解决的,我是在同一个sprite多次截图,发现截出来的图会有叠加情况

要回复问题请先

商务合作
商务合作