Objective c 释放消失/左/右”;“已关闭”;视图控制器

Objective c 释放消失/左/右”;“已关闭”;视图控制器,objective-c,performance,memory-management,automatic-ref-counting,Objective C,Performance,Memory Management,Automatic Ref Counting,我有一个问题,我的应用程序在一个滚动视图中由几个相邻的CollectionView组成,如果单击一个单元格,将显示一个详细视图,使用以下代码: DetailCell *detailCell = [[DetailCell alloc] initWithDetails:_pageCategorie and: indexPath]; [_nav pushViewController:detailCell animated:YES]; 一切都完美无瑕,您可以转到DetailView,然后返回Colle

我有一个问题,我的应用程序在一个滚动视图中由几个相邻的CollectionView组成,如果单击一个单元格,将显示一个详细视图,使用以下代码:

DetailCell *detailCell = [[DetailCell alloc] initWithDetails:_pageCategorie and: indexPath];
[_nav pushViewController:detailCell animated:YES];
一切都完美无瑕,您可以转到DetailView,然后返回CollectionView,然后在另一个单元格的DetailView上,依此类推。。。
问题是,如果你重复几次(10+),我的iPhone上的应用程序就会严重滞后。因此,我认为当我离开一个DetailView并返回CollectionView时,DetailView会保留在内存中。对于这种行为我能做些什么?我正在使用ARC,如果它真的重要的话

Xcode的内存工具可能会很棘手。根据配置方式,它可能会报告已分配的对象,而不是正在使用的对象。这意味着,即使对象被释放,内存工具也可能会报告其他情况


查看如何在XCode中修改内存报告的配置。

您如何知道您的DetailView仍保留在内存中?XCode的内存工具说,每次打开DetailView时,使用率都在增加,离开它并不会降低使用率,所以我认为它仍在记忆中有人有想法吗?请在DetailCell中实现
dealloc
,并使用NSLog查看是否在“返回CollectionView”时调用它。如果是这样,它就不会“留在内存中”。另外,为什么你在代码中说的是DetailCell,而在文字中说的是DetailView?这表明你在某个地方有一个bug-你可能创建/推错了东西。