2015年06月27日

Memory Warningの処理

viewController内にてmemory Warningが出た場合の処理
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    
    if ([self isViewLoaded] && [self.view window]) {
        [[NSNotificationCenter defaultCenter] removeObserver:self];
        self.view = nil;
    }
}
・コンテンツビューの解放(self.view = nil)をすることで、使用可能なメモリを確保することができる。 IBOutlet をweak接続することで、コンテンツビューが解放されたと同時にIBOutletのインスタンスも 解放される。IBOutletで宣言したインスタンスはどうやらコンテンツビューがオーナーになっているので ViewControllerがオーナー(strong接続)になる必要はないらしい。

・ViewDidLoad内にて監視の登録を行っている場合は、コンテンツビューが再ロードされるときViewDidLoadが再度呼ばれるので、監視の二重登録になってしまうのでこのメソッド内で解除する必要がある。
posted by masa at 10:44| Comment(0) | IPhoneアプリ開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: