在对具有A,B和C代集的应用程序进行性能分析时,我看到了以下情况:
仅查看B代时(单击三角形并向下钻而没有单击箭头),我看到以下内容:
我认为这很奇怪,因为它归结为一个取消分配的调用,该调用在直观上应该释放内存。
更令人困惑的是,当我单击大概放大了两代之间的增量的箭头时,“最重堆栈轨迹”似乎完全不同。
编辑:设法在B代部分中找到了相同的堆栈跟踪,但是对于释放方式如何分配内存仍然感到困惑:
对于以mach_vm_deallocate
结尾的通话的增长,这意味着什么?
为什么当我单击箭头时它显示不同的堆栈?