0

iPad アプリで非常に奇妙なメモリ リークが発生しています。

私はナビゲーション コントローラー アプリを持っています。メイン コントローラーのボタンをクリックすると、ViewController がプッシュされます。このビュー コントローラーには UIWebView があります。これは、IBOutlet を使用して NIB ファイルに接続します。

@interface MyViewController : UIViewController {

     IBOutlet UIWebView *webview; 
}

また、ユーザーがタッチすると、Webview で YouTube ビデオの再生が開始されます。

戻るボタンをタップすると、View Controllerが元に戻ります。

ここで問題が発生します。ビデオの再生が停止せず、その理由は UIWebView インスタンスがまだ存在しているためです。私のコードではまったく。

そして、ここで奇妙なことが起こります。テストのために、オブジェクトでリリースを呼び出したところ、今回はビデオの再生が停止しました。

これが正しいことではないことはわかっていますが、なぜそのようなことが起こっているのかについての答えはありません。

私が間違っている場所についてのコメント。

ありがとう

4

1 に答える 1

0

考慮すべき 2 つのポイント:

  1. MyViewController はどのように割り当てられ、解放されますか? ビューコントローラーをプッシュすると、もう一度保持されます。コードのその時点で実際に解放できます。

  2. MyViewController をポップする前に、webview のデリゲートを nil に設定してみてください。

于 2011-01-30T01:24:35.107 に答える