leoganliang 我在棋牌游戏中用了HTMLCanvas来对每一局游戏的结果进行截图。需要保存最近10局的截图。最近10局以外的截图部分需要从内存释放掉。但试过HTMLCanvas的方法:destroy ,dispose,clear都不行。在程序中会报错。每一张截图,会占用内存大概3.5M。如果不能释放,随着牌局的增加,内存耗用会无限加大。我需要用哪种方式来释放这部分截图内存?或者是还有其他什么方法能截图并可以释放掉内存?
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有问题,点击两下把电脑搞死机了,很强大!
leoganliang Laya_XS 试着改了使用image dispose,内存也不见释放。代码如下:var kk1:HTMLCanvas = this.HistoryArray.pop()[0]; var img:Image = new Image(); img.src = kk1.toDataURL(); img.dispose();详见附件(已更新)。这次不会那么强大了
leoganliang Laya_XS @Laya_XS:但我要清除掉的图形根本就还没出现在sp1里。图形还只是以HTMLCanvas 对象的形式存在数组里面。我需要的是从数组和内存中清除掉HTMLCanvas 对象
cuixu_xucui 我也遇到了,还没显示到Image里,只是根据鼠标移动做drawToCanvas就内存溢出了,LZ怎么解决的if(this._htmlC){ this._htmlC.destroy(); } this._htmlC = this.zoomBox.drawToCanvas()