ラベル didReceiveMemoryWarning の投稿を表示しています。 すべての投稿を表示
ラベル didReceiveMemoryWarning の投稿を表示しています。 すべての投稿を表示

2012/10/30

iOS 6における低メモリ警告とその処理について

iOS 6からviewWillUnloadviewDidUnloadが呼ばれなくなったようなので、実際どのように処理をしているのかを調べてみました。

詳細は「View Controller Programming Guide for iOS」の「Resource Management in View Controllers」を参照してください。

2010/10/15

ViewControllerにおけるビュー管理サイクルとメモリ警告シミュレーションによるアンロード処理について

ビューコントローラにおけるビューの管理にはロードサイクルとアンロードサイクルという2つのサイクルがあります。ロードサイクルではビューを利用可能な状態にし、アンロードサイクルは利用できない状態にします。なお、アンロードサイクルはアプリケーションがメモリ不足のときに発生します (コントローラの解放とは関係ありません)。

iPhoneはメモリを潤沢に持っていないため、使用メモリ量に関係なくアプリケーションのメモリ警告が発生することがあります。このとき、アプリケーションは前述のアンロードサイクルを含んだ処理を行ってメモリを解放しようとします。本記事ではこのアンロードサイクルの処理の流れについて調べてみます。

そこで、本記事ではまずコントローラのビュー管理についてまとめ、続いて、メモリ警告発生時の挙動をシミュレーションを通して確認してみます。なお、ビュー管理サイクルについては「View Controller Programming Guide for iOS」の「Understanding the View Management Cycle」の項を、メモリ警告シミュレーションについては「Memory Usage Performance Guidelines」の「Responding to Low-Memory Warnings in iOS」の項を参照してください。