1

私のアプリでは、画像をアニメーション化するためにいくつかのUIImageViewを使用しています。これらのUIImageViewに対して、私は呼び出しstartAnimatingて、アニメーションループを無期限に持っています。私のアプリには多くの異なるビューが含まれており、多くの場合、これらのUIImageViewは画面に表示されません。さらに、私のアプリはバックグラウンドで実行されます。私の質問は、これらのUIImageViewについて、私が決して呼び出さないstopAnimating場合、UIImageViewがオフスクリーン(つまり、スーパービューがオフスクリーン/非表示であるか、アプリがバックグラウンドである)でも、ビューがアニメーション化され、処理能力を消費し続けるかどうかです。

前もって感謝します。

4

1 に答える 1

1

正直なところ、よくわかりませんが、アップルのドキュメントでこれを見つけました

ビューを非表示にする

ビューを視覚的に非表示にするには、hidden プロパティを YES に設定するか、alpha プロパティを 0.0 に変更します。非表示のビューは、システムからタッチ イベントを受け取りません。ただし、非表示のビューは、ビュー階層に関連する自動サイズ変更やその他のレイアウト操作に参加します。したがって、ビューを非表示にすることは、ビュー階層からビューを削除する代わりに便利な場合が多く、特に近いうちにビューを再度表示する予定がある場合に便利です。

ここでドキュメントを読みましたが、確かな答えを保証するものは何も見つかりませんでした。しばらく前に見たスタンフォードのオンライン コースで、処理能力を維持するために非表示のビューがまったく描画されないことを覚えています。ただし、追跡されます(上記で説明したように)。そうは言っても、私は一般的にAppleがこれを効率的な方法で処理していると思いますが、確かなことはわかりません.

より明確な答えが必要な場合は、一連のビューをアニメーション化し、計測器でそれらを追跡して、それらがどれだけ消費しているかを確認できます.

于 2013-02-07T00:47:14.523 に答える