1

AVPlayer を使用してビデオを表示する iPad アプリを作成しています。ビデオのさまざまな部分にジャンプするボタンがあり、ユーザーがデバイスを回転させると、AVPlayer レイヤーを保持するビューのサイズが変更されます。

私の問題は、デバイスの向きが一定量変更されてビデオがジャンプした後、アプリがクラッシュすることです。

私は NSZombie を有効にしています - これは壊れません。例外をキャッチするためにコードでブレークポイントを有効にしていますが、これは壊れません。インストゥルメントを実行しましたが、コードは漏れていません。

割り当ては、14 MB に達してパッドがクラッシュするまで、アクションごとに「全体のバイト数」が増加していることを示しています。

私はこれの底に到達する方法がないように感じます. これを解決するためのトリックがありませんか?AVPlayer はリリース時に特別な処理が必要ですか?

どんな助けでも、大いに感謝します。

4

1 に答える 1

0

手段を使用して割り当てを確認します。私は最近、メモリ リークがなく、特定の ViewController を起動するたびに全体のバイト数が増加し続けるという非常によく似た問題を抱えていました (最終的にはクラッシュしました)。

ViewController 自体が別のクラスへのデリゲートとしての強い参照であることが判明し (おっと)、ViewController を閉じるたびに、他のクラスがまだそれを参照していました。したがって、このViewControllerを起動して閉じるたびに、死ぬことのない(そしてリークすることのない)別のインスタンスを作成します。

正確な問題は異なる場合がありますが、割り当てを確認することで、全体のバイト数が増加する理由を確認できるはずです。

于 2012-05-09T12:59:08.470 に答える