这在某种程度上是一个假设性的问题,但我可以想象这种情况在未来的某个时候会出现:让我们暂时假设我有一个非常复杂的 UIView 层次结构,我只需要渲染一次。我们还假设,一旦绘制,我就不再使用父视图下的信息(UIImages、标签、自定义视图、坐标等)。这个想法不是保留它们,而是释放它们使用的所有额外内存,同时避免重绘。结果与绘制到屏幕外缓冲区然后将其推送到屏幕上相同。是否可以直接使用 UIView/CGLayer 来实现这一点,或者是将父 CGLayer 的内容转换为 UIImage 的唯一选择?
只是好奇。我想在大多数情况下,保留一些额外视图的开销可以忽略不计,但内存就是内存,除了分配位图之外,我无法在官方文档中找到任何内容。
谢谢!