iPadアプリに参加するには、とてもシンプルなブラウザを開発しようとしています。そのブラウザにはタブがあります。すべてのタブは.xibに基づいており、ほとんどすべての.xibフレームがUIWebView
で埋められます。 私はNSMutableArray
の中にすべてtabsArray
と書いてあります。ARCでのUIWebViewのリリース方法
だから、ここで私は、配列に新しいタブを追加する方法は次のとおりです。 宣言:
の.h
@property (nonatomic,strong) NSMutableArray *tabsArray;
@property (nonatomic,strong) UIDetailWebController *pagina;
.M私は画面に表示する方法
self.pagina = [[UIDetailWebController alloc] initWithNibName:@"UIDetailWebController" bundle:nil];
[tabsArray insertObject:pagina atIndex:currentViewTag+1];
:
[self.view addSubview:[[tabsArray objectAtIndex:currentViewTag+1] view]];
そして、最後に、ここで私は、ユーザーが(特定のインデックスを持つ)タブを閉じたときのUIWebViewを「解放」しようとしている方法は次のとおりです。
[[[tabsArray objectAtIndex:index] view] removeFromSuperview];
[[tabsArray objectAtIndex:index] setWebView:nil];
[[tabsArray objectAtIndex:index] setView:nil];
[tabsArray removeObjectAtIndex:index];
私の問題がある:これを行うことで、私は単純にドンと思われます」それを解放する。メモリ消費量は同じままです。私がYouTube動画を再生している場合、音声は引き続き再生されます。 私はプログラミングの面で新しく、iOS 5でARCを使ってiOS開発を開始しました。おそらく、メモリ管理に関連する基本的な詳細をスライドさせています。
SOLUTION:
[OK]を、私はPullToRefreshViewの実装(https://github.com/chpwn/PullToRefreshView)のWebViewを保持されたものがあったことが分かりました。デリゲートをnilに設定すると、すべてがうまくいく!プロパティpagina
がある
はい、それはself.paginaです。 – JulianoRossi
元のコードはすでにself.paginaでしたが、質問を書いている間に間違って入力しました。ごめんなさい。 – JulianoRossi
'[tabsArray objectAtIndex:index]'の 'index'が正しい値を持っていますか?また、ビューを削除するコードが実際に呼び出されていることを確認していますか? – sch