iOS仪器vm跟踪器IOKit疯狂的居住空间大小

问题描述 投票:2回答:2

我刚刚正在分析我正在使用Instruments开发的ipad应用程序。我特别对内存使用感兴趣,因为我一直在收到一些内存警告。

首先,“活动”监视器报告刚启动应用程序后总共使用了大约40MB的内存。这对我来说真的很像。尤其是在启动之后,没有任何真正的幻想发生。

所以我一直在VM跟踪器中分析该应用程序。

首先有人可以解释如何解释dirty记忆吗?我的意思是,ipad确实没有虚拟内存,也就是说没有交换空间。

好吧,真正奇怪的是我有40 MB的dirty内存,这是常驻内存! IOKit下列出了大约38MB。在IOKit下,没有进一步的信息,这实际上意味着什么。

那么IOKit到底是做什么的?是什么导致这些疯狂的巨大价值?

任何提示都值得赞赏! :)

ios ipad debugging memory instruments
2个回答
1
投票

尝试使用Heapshot Analysis,bbum具有出色的tutorial here

[基本上,您需要获取一个Heapshot,运行一些过程,并获取另一个Heapshot以进行多次迭代。这将有助于查找丢失但没有泄漏的内存。我经常使用这种方法,

我已经多次使用Heapshot发挥了很大的优势,非常感谢bum。


0
投票

什么是脏内存?

据此session

  • 由应用程序编写的内存
  • 所有堆分配
  • 解码图像缓冲区

VM配置文件显示脏内存的一些信息

像脏内存大小。他们是匿名的。

vmmap --summary App.memgraph

在此会议上,这位Apple开发人员使用heap获取有关对象大小的更多信息。

heap App.memgraph

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.