複数のセルがあり、各セルに imageview がある 2X2 コレクション ビューを読み込んでいます。しかし、このコントローラーを閉じると、常駐メモリとダーティ メモリが増加し続けます。
コントローラーに複数のビューがあり、コレクション ビューはその 1 つです。addsubview と removefromsuperview を実行して、コントローラーにさまざまなビューを表示します。コントローラーを閉じる前に、コレクションビューを含むすべてのサブビューをコントローラーのサブビューから削除します。
しかし、これは常駐メモリを解放せず、500MB を超えると、メモリ警告をスローしてアプリがクラッシュします。これは、dismissviewcontrollerの前にサブビューを削除する私のコードです-
-(void)removeSubViewsOfView:(UIView *)view{
NSArray *viewsToRemove = [view subviews];
for (int i = 0; i<[viewsToRemove count]; i++) {
UIView *v = [viewsToRemove objectAtIndex:i];
[v removeFromSuperview];
v=nil;
}
}
また、ARCを使用しています。