現在、いくつかのカスタム レイヤーをビュー内のサブレイヤーとして使用しているときに、いくつかのパフォーマンスの問題に直面しています。
プログラムで新しいレイヤーを作成した後、次のようにサブレイヤーとして追加します。
[self.view.layer addSublayer:myNewSublayer];
これはうまくいきます。ただし、これを何度も行うと、私のアプリはますます遅くなり始めます。ビューに常に新しいサブレイヤーを追加しているので、これが起こると確信しています。したがって、この問題を解決するために、次のような新しいサブレイヤーを追加する前に、self.view.layer からすべてを削除しようとしました。
[self.view.layer setContents:nil];
残念ながら、これは私の問題を解決しませんでした。
新しいサブレイヤーは、サブレイヤーとして追加された後、正しくリリースされます。これを計測器で確認しましたが、メモリ リークはまったくありません。ただし、新しいサブレイヤーを追加するたびにメモリが増加していることがわかります (これは驚くべきことではありません)。
ビューのレイヤーからすべてのサブレイヤーを削除するには、別の方法を見つける必要があると思います。
どんな助けでも感謝します。前もって感謝します。