Gab*_*ros 5 memory-leaks memory-management google-chrome canvas drawimage
我开发了一个具有约160张图像的应用程序。我正在创建160 img元素并加载它们。加载后,我使用HTML5 canvas元素显示它们。我正在使用drawImage在画布上显示图像。
我的问题是,只有在谷歌浏览器中,内存总是在增加。在其他浏览器(例如firefox或IE11)中,我的应用使用了大约260-300 MB,但是在chrome中使用了大约1,4 GB,这太多了。当我调用drawImage方法时,内存仅在增加。我已经尝试过画布上下文的clearRect方法,并且还尝试过重新创建画布(删除+附加组合)。
我的问题有可能解决的办法吗?它是镀铬的虫子吗?我已经使用chrome的任务管理器对其进行了测试。我已经看到,图像缓存也在增加,但是这对我来说并不合逻辑,因为我只加载了1次图像,而我只是将它们与drawImage方法一起使用。
谢谢您的体会。
我有一个类似的问题,使用非常大的图像(3000x2000)的图像循环来在上传之前生成预览:
image.src = url)。canvas.drawImage(image, ...))调整它的大小这会导致(仅在 Chrome 35 中)持续消耗内存,然后耗尽内存。image.src = null我解决了在删除图像之前使图像无效的问题。
非常奇怪的行为是,如果我使用 DevTools 来分析内存使用情况(我显然怀疑这是由我的代码生成的内存泄漏),则内存消耗不再发生,并且当我删除图像时总是会调用垃圾收集器。
| 归档时间: |
|
| 查看次数: |
1366 次 |
| 最近记录: |