首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Instruments工具中的分配

使用Instruments工具中的分配
EN

Stack Overflow用户
提问于 2012-11-15 16:33:33
回答 2查看 1.7K关注 0票数 1

我正在使用Instruments工具查找我的应用程序中的漏洞。在检查应用程序中的漏洞时,我还可以看到Allocation选项卡。

到目前为止,我从未使用过instruments工具中的allocations选项卡。我刚刚检查了它可能是什么,并且我能够看到#All Allocations *字段。它显示了应用程序使用的总字节数。我很震惊地看到它的大小在不断增加。

我应该只担心内存泄漏而不担心分配吗?那么#All分配意味着当前应用程序大小还是整个应用程序大小?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-15 16:39:14

这些分配对于显示您的应用程序内存占用很有用。如果您提供了一个modalViewController并忽略了它(并重复了它),并且您看到您的应用程序的活动字节数在不断增加,那么就有问题了。内存泄漏很有用,可以查看已分配的内存,但您丢失了对它的引用。使用ARC会有所帮助,但仍然可能存在内存泄漏(例如循环引用)。分配还可以帮助您了解内存被分配到哪里,而不会被释放。例如,一个充满对象的NSArray,您不会使用这些对象,但您仍然可以保持活动状态。对于您的问题:

1)你应该同时担心这两个问题。

2) 实时字节显示您当前的应用程序大小(虚拟内存)。整体应用程序大小,正如它所说的:“所选时间范围内的分配总数”。

您还可以查看this

票数 2
EN

Stack Overflow用户

发布于 2012-11-15 17:23:27

All Allocations行在Live Bytes列下显示堆的当前大小,并在Overall bytes列下显示曾经分配的堆字节总数。如果分配一兆字节,则两列都将增加1MB。如果您随后释放该兆字节,则活动字节将减少1 MB,但总字节不会改变。

Live Bytes对于检测被遗弃或泄漏的内存非常有用。

总体字节数通常不是很有用。当您遇到性能问题并想要查看是否由于过度的分配流失而导致时,可以使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13393857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档