2011-07-19 4 views
1

2つのタブがあります.1つはimagepickerコントローラを含み、もう1つはUItableViewをUIコントローラのサブビューとして含みます。ImagePickerController(SourceTypeCamera)を呼び出すと、タブバーコントローラ内の他のページ(他のタブ)がアンロードされます。

imagepickerコントローラ(SourceTypeCamera)を呼び出すと、他のタブのページがアンロードされていることがわかります( 'view didUnload'メソッド)。

これは正常な動作ですか? (他のタブのビューがアンロードされます)または、私が気をつける必要があるカメラを使用するときにいくつかのメモリの問題が原因ですか?

答えて

1

viewDidUnloadは、いつでも起動でき、通常はメモリ不足の警告に関連付けられています。そうでない場合は、メモリが許す限り、ビューコントローラのビューがキャッシュされます。したがって、システムの残りの部分の合計状態に依存するため、厳密には予期も予期もしません。言われ、UIImagePickerControllerが画像を取り込むときに(各スパイクはthe related blog当たり「画像を取り込む」UIImagePickerControllerのインスタンスに関連して、例えばthis imageを参照)有名かなりメモリ飢えているので、他のビューがメモリshouldnから強制されること

とても驚くべきことです。

文書化されたメカニズムはありません。UIImagePickerは、他のコントローラが自分のビューを投機的にダンプするように強制する理由はありません。

+0

これについての大きな洞察に感謝します。つまり、私はあまりにも過度に心配するべきではないと思います。 – Zhen

+0

いいえ、逸話的な証拠によれば、あなたが間違っているか貧弱に行っていることの結果ではなく、一般的な経験であることが示唆されます。 – Tommy

関連する問題