2013-10-24 39 views
4

我有一个应用程序。当我重复一些行动时,匿名分配内存不断增加,而堆分配增加一点。有人能帮我吗 ?谢谢什么是Xcode仪器分配中的所有堆分配和所有匿名分配?

+0

一些代码?有关你的应用程序的一些描述? –

+0

我的应用程序在给定点崩溃,甚至运行僵尸工具它没有给出理由,只是检查框中的所有堆分配'广告高亮蓝色。这是@AndyHong的同类问题吗? –

回答

0

专注于所有堆分配的实时字节列以查看您的应用程序正在使用多少内存。您无法控制应用程序的匿名VM大小。

专注于堆分配,因为您的应用程序对堆分配拥有更多的控制权。 您应用程序的大部分内存分配是 堆分配。

匿名VM中的虚拟机代表虚拟内存。 当您的应用程序启动时,操作系统会为您的应用程序保留一块 虚拟内存。这个块通常比您的应用需要的内存量大得多 。当您的应用分配 内存时,操作系统将从其保留的块中分配内存。

请记住前一段中的第二句话。操作 系统确定虚拟内存块的大小,而不是您的应用程序。 这就是为什么你应该专注于堆分配而不是匿名虚拟机。 您的应用无法控制匿名虚拟机的大小。

来源:http://meandmark.com/blog/2014/01/instruments-heap-allocations-and-anonymous-vm/