我正在加载一个 2X2 集合视图,它有多个单元格,每个单元格都有 imageview。但是当我关闭这个控制器时,常驻内存和脏内存不断增加。
我的控制器中有多个视图,集合视图就是其中之一,我使用 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。