做<img>或者<画布>保存对原始(大)dataUrl对象的引用

Do <img> or <canvas> hold a reference to original (large) dataUrl object?

本文关键字:gt lt dataUrl 引用 对象 保存 或者 img 画布 原始      更新时间:2023-09-26

给定存储为dataUrl并从变量传递到图像或画布背景的图像数据,dom元素是否会在内存中保存对原始js dataUrl的引用?

我之所以这么问,是因为如果引用中断,允许垃圾收集将是一个非常好的主意。如果引用仍然有效,我可以将可视化组件上的dataUrl保存在js中,以便以后在没有重复的情况下重复使用。

谢谢!

数据uri是字符串,由于字符串不是引用值,因此该值将复制到src。没有引用原始数据uri(这也适用于普通URL,因为src属性只能接受字符串)。

它存储在内存中,因为画布元素是字符串到图像的模拟。创建画布元素后,可以使用原生画布方法.toDataURL来获取画布元素的字符串url。这应该是您传入的原始字符串。