请教一个 img 动态创建,删除的问题

2014-10-24 20:21:00 +08:00
 web9s
代码如下:
function SetscreenCanvas(data)
{
var c=$("#screenCanvas")[0];
var cxt=c.getContext("2d");
var img=new Image();
img.onload = function(){
cxt.drawImage(img,0,0);
img.remove();
delete(img);
};
img.src='/data.png';
}
这个函数会多次执行,浏览器的内存一直增长不下,大家帮看看那不对呀。
2940 次点击
所在节点    JavaScript
2 条回复
cdxem713
2014-11-05 23:46:32 +08:00
好多看不明白的
$('#...')[0]这个取出来应该是啥?
之后创建的Img是自己写的类么?

动态加载img的话,可以试试在onload事件回调最后加一个img.onload=null
web9s
2014-11-12 21:33:23 +08:00
本想是通过img加载图片后,把png图片画到canvas中,但多次执行 img.src赋值会发现img的图片资源一直不能释放。
后来实验即使是只给img.src赋值图片路径,在多次赋值后浏览器也是会内存暴涨,没有找到办法。
时间有点长了,最后放弃了,不确定img.src多次赋值内存不释放是不是个浏览器的bug。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/141320

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX