revokeObjectURL的最佳做法是什么,并且调用它真的有必要吗?

jri*_*sta 8 html5 revokeobjecturl

我正在为网站编写高级图像上传功能.为了允许在浪费时间以及将图像上传到服务器的客户端和服务器资源之前执行所有图像配置,我尝试使用HTML 5功能来支持完全客户端功能集,并在所有图像裁剪后进行批量上传和其他编辑已经完成.

我的页面上有一个放置区域,允许多个文件拖放实际选择要编辑的图像.在下拉,我创建一个图像编辑器列表(使用window.URL.createObjectURL),一些表单字段,简单的元数据提取预览,我将Jcrop附加到每个图像.我遇到的问题是当我附上Jcrop时.尽管在我通过调用来撤销url之前我附加了裁剪设备window.URL.revokeObjectURL,Jcrop似乎似乎没有尝试访问URL,直到太晚,我最终丢失了图像.

我根本没有调用revokeObjectURL,并且允许一切正常工作......但是我不确定不撤销对资源使用的影响是什么.这是否有可能导致内存泄漏?刷新页面是否会导致未发布的对象URL被释放并且其资源被回收?

Ron*_*Ron 0

假设这里实现的拖/放功能仅获取指向本地文件的指针,那么不撤销 URL 就不是什么大问题。

另一方面,如果创建了图像的 blob,则在 URL 未撤销的情况下确实需要考虑内存。