3

我有一堆相同的 CALayers 想要重用。通常,它们中的一些应该消失,然后在同一个超层内的另一个位置重用(半秒左右之后)。

当它们从屏幕上消失时,保持它们的最佳方式(性能方面)是什么?setHidden:YES,还是 setOpacity:0,还是 removeFromSuperLayer ?还是我没有想到的其他东西?

(大约有 12 个相同的圆形 CALayers,其内容来自 UIImage,大约 30 个 CAShapeLayers,每个 CAShapeLayers 仅包含一条线段——尽管通常方向不同——)

4

2 回答 2

0

你提到的这三个似乎都是可以尝试的合理的事情。你真的应该测试每一个,看看哪个给你的应用程序提供了最好的性能,结果可能会让你大吃一惊。

于 2010-10-15T18:30:56.597 回答
0

您应该使用 nsset 或 nsarray 来维护未使用的 calayers 队列。该过程类似于您在使用表格单元时所做的。

由于每个 calayer 都是 removeFromSuperLayer'd,因此将其放入您的套装中,并在需要时从套装中拉出一个。

于 2010-10-15T18:28:09.757 回答