【发布时间】:2012-12-23 06:50:40
【问题描述】:
您好,我对分配的内存有疑问,因为我在 Instruments 中注意到很多堆增长,所以我设计了一个测试应用程序。
测试应用包含两个 ViewController,每个都有一个按钮。 第一个 ViewController 通过 Segue Modal 链接到 SecondViewController(它根本没有代码 - 除了自动生成的)。
第二个ViewController只有功能
-(IBAction)back:(id)sender{
[self dismissModalViewControllerAnimated:YES];
}
所以我可以翻转抛出视图。
当我使用 Instrument 对其进行测试时,我注意到在我转到第二个视图并返回后堆增长。
这怎么可能?我错过了什么?
【问题讨论】:
-
500KB 对你来说不合理吗?你期待什么?
-
我理解它应该是0。如果你以相同的状态返回它应该没有任何内存增长,或者我错了?
-
堆的大小不是应用内存使用量。
-
是的,我知道。如果我没记错的话,内存堆是两个堆标记之间使用的内存。 HeapSpot 3 在移动到第二个屏幕和返回之间进行。因为我以与使用 HeapSpot 之前相同的位置结束,所以它应该是 0,不是吗?
-
看我的回答。希望它会足够清楚。
标签: ios memory memory-management instruments heapsort