使用 SVGKit 渲染带有嵌入式 Base64 编码的 png 图像的 SVG 需要相当大的内存

Rendering of SVG with embedded Base64 encoded png images using SVGKit takes considerable memory

我正在使用 SVGKit 来渲染 SVG,它在 it.The 中有很多嵌入的 Base64 编码的 png 图像memory.The SVG 的总大小为 10MB,渲染时使用的内存约为 80-85 MB.Is 有什么办法可以解决这个问题?

我试过缓存,但内存问题仍然出现。

PNG 是一种压缩 文件格式 - 保证在显示时使用更多内存。这是 PNG 的基本限制;如果您想减少内存使用量,请停止使用 PNG,而只在 SVG 中包含矢量图形。

此外,Apple 通常会为每个 PNG 存储额外的信息以优化渲染速度。

(出于同样的原因,SVGKit 也可能会存储额外的信息:以提高渲染速度。但首先你必须找出 PNG 在内存中的大小)