【发布时间】:2015-10-13 11:05:35
【问题描述】:
我有一个视图控制器 A,其中有很多项目供用户选择。用户可以按下它,这将推动另一个视图控制器 B。 然后,用户可以返回选择的其他项目。
这在 90% 的情况下都很好,但是如果用户速度很快并且经常这样做,应用程序会崩溃并显示错误消息:
“因内存错误而终止”
.
这个视图控制器 B 很大,所以我不能真正发布任何代码,但我检查了保留对象,内存泄漏没有运气。我的理论是垃圾收集器无法跟上步伐,所以我可能不得不在我的对象周围包裹一个@autoreleasepool
你有什么好的想法/做法吗?
更新:
尝试这样做。取一个随机视图控制器并添加它
MKMapView *mapView = [[MKMapView alloc]initWithFrame: CGRectMake(100, 100, 500, 500)];
[self.view addSubview:mapView];
推这个视图控制器并弹出它。重复大约 15 次,应用就会崩溃。
【问题讨论】:
-
你使用“pushViewController:View Animation:YES”吗?
标签: ios objective-c memory-management garbage-collection