我刚刚正在分析我正在使用Instruments开发的ipad应用程序。我特别对内存使用感兴趣,因为我一直在收到一些内存警告。
首先,“活动”监视器报告刚启动应用程序后总共使用了大约40MB的内存。这对我来说真的很像。尤其是在启动之后,没有任何真正的幻想发生。
所以我一直在VM跟踪器中分析该应用程序。
首先有人可以解释如何解释dirty记忆吗?我的意思是,ipad确实没有虚拟内存,也就是说没有交换空间。
好吧,真正奇怪的是我有40 MB的dirty内存,这是常驻内存! IOKit下列出了大约38MB。在IOKit下,没有进一步的信息,这实际上意味着什么。
那么IOKit到底是做什么的?是什么导致这些疯狂的巨大价值?
任何提示都值得赞赏! :)
尝试使用Heapshot Analysis,bbum具有出色的tutorial here。
[基本上,您需要获取一个Heapshot,运行一些过程,并获取另一个Heapshot以进行多次迭代。这将有助于查找丢失但没有泄漏的内存。我经常使用这种方法,
我已经多次使用Heapshot发挥了很大的优势,非常感谢bum。
什么是脏内存?
据此session。
VM配置文件显示脏内存的一些信息
像脏内存大小。他们是匿名的。
vmmap --summary App.memgraph
在此会议上,这位Apple开发人员使用heap
获取有关对象大小的更多信息。
heap App.memgraph