gpt4 book ai didi

ios - 为什么 Zombie Instruments 工具中的分配继续增加,而 Allocations Instruments 工具中却没有

转载 作者:行者123 更新时间:2023-11-28 22:51:40 25 4
gpt4 key购买 nike

我是 Xcode 和 iOS 的新手,今天一直在尝试使用 Instruments 工具。有些事情我正在努力解决:

场景:

我创建了一个简单的应用程序,它使用 UISearchBar 过滤 UITableView(目标 iOS5 和 ARC)。简单的代码,没什么花哨的。

为了我自己的学习,我在执行各种操作时一直在观察分配情况 - 在这个特定的例子中,当我在搜索栏中输入内容时。

使用“分配”工具,我得到以下信息:

enter image description here

正如预期的那样,当我第一次开始在搜索栏中输入内容时,我发现分配的内存突然激增。之后,任何进一步的搜索都不会对分配图产生重大影响。

但是,当我使用“僵尸”工具查看内存分配时,每当我在搜索栏中键入内容时,分配图都会继续上升。

enter image description here

起初,我认为这可能是我正在跟踪的内容 - 我试图确保所有设置都匹配。但是搜索的时候还是显示上升图。

有人对此有解释吗?毫无疑问,我对分配工具在每种工具模式中跟踪的内容存在概念上的误解。

最佳答案

Zombies 工具通过告诉您的应用不要释放对象来工作。相反,当对象将被释放时,应用程序会保留已分配的对象,但会将对象的类更改为一个特殊的僵尸类,该类通过引发僵尸错误来处理任何消息。

因此,在 Zombie 工具下分配不断增加,因为没有任何东西真正被释放。

顺便说一句,由于使用 Zombies 会阻止应用程序取消分配对象,因此应用程序通常需要更多内存才能在 Zombies 工具下运行。这在 Mac(以及在 Mac 上运行的 iOS 模拟器)上是可以的,因为 Mac 可能有几千兆字节的 RAM,并且还支持分页到磁盘。但是 iOS 设备只有 256 MB 到 1 GB 的 RAM,并且不支持分页。这可能就是 Instruments 不允许您在 iOS 设备上使用 Zombies 的原因。

关于ios - 为什么 Zombie Instruments 工具中的分配继续增加,而 Allocations Instruments 工具中却没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11840498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com