2011年3月6日日曜日

メモリ不足への対処

組み込み型OSであるiOSの実装にあたり、メモリ管理を確実に行うことは可用性を保つ上で重要だ。”UIKit詳細リファレンス”に良い解説があった。メモリ不足対処には、didReceiveMemoryWarningが呼ばれることは周知だが、OS3.0からはviewDidUnloadが呼ばれるため、ここにコードすることになる。didRecieveMemoryWarningは、メモリ不足時に常に呼ばれるが、viewDidUnloadは前面にいるビューコントローラ以外のコントローラで呼ばれるようだ。そもそも画面遷移のときにはオブジェクトを解放してあげるのはマナーであるが、viewDidUnloadにもコードし、解放してあげることも必要となるようだ。