ios仪器vm跟踪器IOKit疯狂的住宅大小

时间:2011-11-29 19:38:03

标签: ios ipad debugging memory instruments

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

首先,活动监视器报告在启动应用程序后总共使用了大约40MB的内存。这对我来说真的很重要。特别是在创业之后,没有什么比这更好的了。

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

首先,有人可以解释如何解释内存吗?我的意思是ipad并没有真正的虚拟内存,因为没有交换等等。

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

那么IOKit究竟做了什么? 什么可能导致这种疯狂的巨大价值?

任何形式的提示都表示赞赏! :)

2 个答案:

答案 0 :(得分:1)

尝试快照分析,bbum有一个很棒的tutorial here

基本上你采用一个快照,运行一些程序,再进行几次迭代的另一个快照。这将有助于找到丢失但没有泄漏的内存。我经常使用这种方法,

我多次使用Heapshot非常有利,非常感谢bum。

答案 1 :(得分:0)

什么是脏内存?

根据此session

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

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

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

vmmap --summary App.memgraph

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

heap App.memgraph

enter image description here