我想要重复使用一堆相同的CALayer。通常情况下,其中一些应该消失,然后在同一个超级层内的另一个位置重复使用(半秒左右)。
在屏幕上消失时保留它们的最佳方式(性能方面)是什么? setHidden:YES,或setOpacity:0,还是removeFromSuperLayer?或者其他我没想到的东西?
(大约有12个相同的圆形CALayers,内容来自UIImage,大约30个CAShapeLayers,每个只包含一个线段 - 虽然通常在不同的方向 - )
答案 0 :(得分:0)
您应该使用nsset或nsarray来维护未使用的calayer队列。该过程与使用tablecells时的过程类似。
当每个calayer都是removeFromSuperLayer时,将它放入你的套装中,并在需要时从套装中拉出一个。
答案 1 :(得分:0)
你提到的三个看起来似乎都是合理的事情。你真的应该测试每一个,看看哪个给你的应用程序最好的性能,结果可能会让你感到惊讶。