UIViewController - ビュー関連のイベントを整理する

2010年8月4日水曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

ざっくりと図にまとめてみた。

UIViewController ビュー関連イベントまとめ


MyViewController と OtherViewController の2つの間で画面遷移を行った時に発生しうるビュー関連のイベントを図にまとめてみた。OtherViewController は -[UINavigationController pushViewController:animated:] で表示されたり、あるいは UIImagePickerController などを仮定している。

メモリ不足が発生するとビューの再作成が発生する。viewDidLoad はビューの作成毎に呼ばれる。メモリ不足は必ず発生する事象なので、通常はビューの再作成が発生することを前提として実装する必要がある。実機での経験では UIImagePickerController を使ってカメラ撮影などをする時によくビューの再作成が発生するようだ(元の画面へ戻った時に viewDidLoad が呼ばれる)。


メモリ不足時の動作確認


別の画面を表示している時に iPhoneシミュレータの「メモリ警告をシミュレート」を使うと上の図の状況を作り出せる。

[参考] Cocoaの日々: 「メモリ警告をシミュレート」で didReceiveMemoryWarning を擬似的に発生

これを使うとメモリ不足がシミュレートされ、元の画面で didReceiveMemoryWarning、viewDidUnload と呼び出される。その後、元の画面へ戻ると viewDidLoad、viewWillAppear と呼び出される。


参考情報

iPhoneアプリ開発時のメモリ管理で気をつけること - A Day In The Life
メモリ管理に関する説明。図もあってわかりやすい。参考になった。

Responses

Leave a Response

人気の投稿(過去 30日間)