3

再利用したい同一の CALayer がたくさんあります。多くの場合、それらのいくつかは消えて、同じスーパーレイヤー内の別の位置で再利用されます (0.5 秒ほど後)。

それらが画面から消えている間、それらを維持するための(パフォーマンス面での)最良の方法は何ですか? setHidden:YES、または setOpacity:0、または removeFromSuperLayer ? それとも私が考えていない何か他のものですか?

(UIImage からのコンテンツを持つ約 12 個の同一の円形状の CALayer と、それぞれが線分のみを保持する約 30 個の CAShapeLayer がありますが、通常は異なる方向にあります)。

4

2 に答える 2

0

あなたが言及した3つは、すべて試すのに合理的なもののようです. それぞれを実際にテストして、どれがアプリケーションに最高のパフォーマンスをもたらすかを確認する必要があります。結果に驚くかもしれません。

于 2010-10-15T18:30:56.597 に答える
0

nsset または nsarray を使用して、未使用の calayers のキューを維持する必要があります。このプロセスは、テーブルセルを使用する場合と同様です。

各キャレイヤーはremoveFromSuperLayer'dなので、セットに入れ、必要なときにセットから1つ引き出します。

于 2010-10-15T18:28:09.757 に答える