我正在为网站编写高级图片上传功能。为了允许在浪费时间以及将图像上传到服务器的客户端和服务器资源之前执行所有图像配置,我尝试使用HTML 5功能来支持完全客户端功能集,并在所有图像裁剪后进行批量上传和其他编辑已经完成。
我的页面上有一个放置区域,允许多个文件拖放实际选择要编辑的图像。在下拉,我创建了一个图像编辑器列表(使用window.URL.createObjectURL
),一些表单字段,简单的元数据提取预览,我将Jcrop附加到每个图像。我遇到的问题是当我附上Jcrop时。尽管在我通过调用window.URL.revokeObjectURL
来撤销网址之前我附加了裁剪设施,但Jcrop似乎似乎没有尝试访问该网址,直到为时已晚,我最终会丢失图像。
我根本没有调用revokeObjectURL,并且允许一切正常工作......但是我不确定不撤销对资源使用的影响是什么。这是否有可能导致内存泄漏?刷新页面是否会导致未发布的对象URL被释放并回收其资源?
答案 0 :(得分:0)
假定此处实现的拖放功能仅获取指向本地文件的指针,而不撤消URL并不是什么大问题。
另一方面,如果创建了图像的斑点,那么在不撤消URL的情况下确实要考虑使用内存。