是否可以在单个 CALayer 上使用自定义绘图绘制多个 UIView,这样它们就没有后备存储?
更新:
我有几个相同大小的 uiviews 具有相同的 super View 。现在他们每个人都有自定义绘图。由于尺寸很大,他们在 iPad 3 上创建了 600-800 mb 的后备存储。所以我想在一个 View 上编写它们的输出,并且消耗的内存要少几倍。
最佳答案
每个 View 都有自己的图层,您无法更改它。
您可以启用 shouldRasterize
展平 View 层次结构,这在某些情况下可能会有所帮助,但这需要 gpu 内存。
另一种方法是创建图像上下文并将绘图合并到图像中并将其设置为图层内容。
在去年的一个 wwdc session 视频中,一个关于绘图的视频展示了一个绘图应用程序,其中许多笔画被转移到图像中以加快绘图速度。
关于objective-c - 在一层上绘制多个 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12964346/