当屏幕刷新时,应该使用什么算法来决定重绘哪些行?

Amo*_*kar 2 drawing objective-c cgpath ios

我制作了一个简单的基于iOS View的应用程序,可以让你在屏幕上绘制和擦除.我正在使用NSMutableArray存储已绘制的路径.每次我将控件从标记切换到橡皮擦或反之,我将当前的CGPath添加到数组并创建一个新的.

每次在drawRect中我都会用适当的颜色重绘数组的路径,具体取决于它是橡皮擦的路径还是标记的路径

并且当触摸移动时绘制当前正在绘制的那个.

现在我知道这并不是一个很好的解决方案,随着阵列规模的增长会占用大量的RAM.我的数组已经包含多余的路径,这些路径实际上已经过了已经用相同颜色着色的点,并且不必要地花费处理器的时间来再次处理它和内存.

任何人都可以参考更好的算法来节省资源吗?

NSR*_*der 5

不要只是假设你有一个内存问题,直到你在仪器下测量你的应用程序,并看到你这样做.否则,你最终可能会付出很多努力,几乎没有任何好处.