我正在整理我的iPad应用程序中的一些内存分配问题,并花了很长时间看CFString
成长和成长(作为一个仍然活着的物体)在僵尸工具下,直到我切换到泄漏或分配工具,我发现它根本没有多大增长(创建并且仍然活着始终保持稳定)任何人都可以解释为什么会发生这种情况在僵尸,但不泄漏或分配仪器,它使我想知道如果CFString
是一个问题,或只是僵尸抛出的假阳性....在Zombies仪器下运行时大型CFString分配,但不泄漏或分配仪器
回答
僵尸专门不释放内存,以便您可以看到,如果你是访问我在你释放它之后。在使用僵尸时,不能尝试检测泄漏。
根据僵尸工具,你应该只是试图检测僵尸。应用程序的其他行为不一定会相同。为了最大限度地发现访问僵尸的机会,可以使用非标准分配器。
即时通讯不知道这是100%正确的,我可以看到其他分配上升和下降,以及生活对象的数量上升和下降,但CFString似乎螺旋失去控制,这是分配不泄漏我看着 – Matt 2011-04-08 15:17:00
CFString使用自定义分配器 - 也许他们可以重用内存。如果是这样,不释放将导致更多的分配。另外,如果分配器可以共享用户不知道的实例(引擎盖下的引用计数) - 那么必须关闭这个实例,否则您将无法检测到滥用。我怀疑这是预期的行为。 – 2011-04-08 16:54:32
+1 @Matt您看到的许多分配可能都是通过NSString apis分配的。 NSString是CFString - 您可以追踪最重的路径或您关注的路径(在乐器中)。这些(NSStrings)不会被释放,并有意泄露Lou的说法。仪器可以记录每个分配创建的调用堆栈以及每个参考计数操作。 – justin 2011-04-08 17:36:24
- 1. XMLParser泄漏仪器泄漏
- 2. 潜在泄漏? - 分析仪
- 3. 仪器和泄漏
- 4. IPHONE:分析泄漏与仪器
- 5. 检查内存分配,使用泄漏仪器工具
- 6. XCode 4运行泄漏仪器
- 7. 仪器(泄漏)不工作
- 8. 如何找到在分配Objective-C的端子或泄漏仪器
- 9. XCODE仪器分配增长
- 10. 低内存,仪器分配
- 11. Xcode - 什么是分配大小在分配仪器
- 12. 仪器在使用泄漏仪器时崩溃
- 13. XCode仪器 - 分配仪器找不到僵尸
- 14. imageWithCGImage根据仪器泄漏
- 15. 检测泄漏的仪器
- 16. 仪器和内存泄漏
- 17. 仪器(泄漏)和NSDateFormatter
- 18. 仪器报告libsystem_c泄漏
- 19. Xcode仪器 - 修复泄漏
- 20. 仪器内存泄漏下ARC
- 21. 仪器内存分配太多不好?
- 22. 即使在运行HelloWorld_IPhone monotouch时仪器中泄漏了物体
- 23. 泄漏仪器在Xcode不能运行8.3.2
- 24. 使用仪器进行泄漏搜索
- 25. 不能追踪C++泄漏与仪器
- 26. 内存泄漏在main.m而在仪器分析?
- 27. 在仪器的NSData dataWithContentsOfFile 100%泄漏
- 28. iOS仪器分配净/整体
- 29. 增加仪器中的对象分配
- 30. Xcode仪器和持久分配
你是指所有的字符串还是只是某个实例/字段? – 2011-04-08 13:19:17
从应用程序中看似无处不在的CFStrings一般很多很多,这些都是生活分配不泄漏 – Matt 2011-04-08 15:15:53