gpt4 book ai didi

iphone - iOS 中的内存崩溃,实际内存使用量仅为 5megs

转载 作者:行者123 更新时间:2023-12-01 17:15:12 25 4
gpt4 key购买 nike

一段时间以来,我一直在寻找我的应用程序中的内存泄漏。截至目前,当我在观看内存监测仪的同时在两个 View 之间来回切换时,实际内存在 5 到 6 兆之间波动。这一切都很好——据我所知,当我从 View 中弹出时,一切都得到了正确的释放。但是,每次我将 View 推回 View 堆栈时,虚拟内存会继续增加,并且可用的实际内存会迅速下降(即使应用程序的实际内存使用量没有增加)。最终,这一切都会导致内存不足崩溃。这是任何特定问题的明显迹象,还是我只是错过了某个地方的内存泄漏?

编辑:奇怪的是,当应用程序仍然只使用大约 5 兆的实际内存时,我遇到了内存不足的崩溃。

最佳答案

不要使用 -retainCount。

对象的绝对保留计数是没有意义的。这是一个实现细节。它可能会受到远远超出您的代码的许多因素的影响。

您应该调用 release与您导致对象被保留的次数完全相同。不会少(除非你喜欢泄漏),当然也不会更多(除非你喜欢崩溃)。

Memory Management Guidelines完整的细节。

在这种特定情况下,您正在泄漏内存,但泄漏无法找到它。泄漏的对象仍然以某种方式连接到整个应用程序的对象图。也许通过通知,也许通过委托(delegate),都没有关系——泄漏看到引用并得出结论,该对象可能仍然存在。

使用分配工具。将其配置为仅跟踪实时分配(因为您不关心已被释放的对象)。用你的应用做一些事情。看看 Allocations 知道什么,并解释为什么所有这些对象都应该保留。您可以使用数据挖掘工具过滤到您的对象。

关于iphone - iOS 中的内存崩溃,实际内存使用量仅为 5megs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035574/

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