我制作了一个简单的基于 iOS 视图的应用程序,它可以让你在屏幕上绘制和擦除。我正在使用 NSMutableArray 来存储已经绘制的路径。每次我将控件从标记切换到橡皮擦时,反之亦然,我将当前的 CGPath 添加到数组并创建一个新的。
并且每次在drawRect中,我都会根据它是橡皮擦的路径还是标记的路径,用适当的颜色重绘数组的路径
并绘制当前正在绘制的触摸移动。
现在我知道这根本不是一个好的解决方案,并且随着数组大小的增长会消耗大量的 RAM。我的数组将已经包含冗余路径,这些路径实际上会越过已经用相同颜色着色的点,并且会不必要地占用处理器的时间来再次执行它以及内存。
任何人都可以参考更好的算法来节省资源吗?