objective-c - 我如何确定哪些对象持有对导致 Objective-C 内存泄漏的其他对象的引用?

标签 objective-c memory-management memory-leaks cocos2d-iphone

我已经尝试使用泄漏工具,并通过“分析”等方式找到泄漏点,但找不到。使用分配我可以确定没有被释放的对象。

我注意到(通过在 dealloc 方法中添加调试语句),不会为这些对象调用 dealloc。

我如何确定哪些对象持有对这些对象的引用并阻止它们被释放?

最佳答案

如果您需要查看某个对象的保留、释放和自动释放发生在何处,请使用工具:

在 instruments 中运行,在 Allocations 中将“Record reference counts”设置为 on(您必须停止记录才能设置该选项)。使选择器运行,停止记录,搜索 ivar (datePickerView),向下钻取,您将能够看到所有保留、释放和自动释放发生的位置。

enter image description here

关于objective-c - 我如何确定哪些对象持有对导致 Objective-C 内存泄漏的其他对象的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8310821/

相关文章:

objective-c - Swift App 中的 Objective C 按钮

ios - 获取Apple Clock应用程序中使用的城市/时区列表

linux - 当大型父进程的子分支关闭时,如何防止 Perl 消耗大量内存?

javascript - 为什么这是 JavaScript 中的内存泄漏?

ios - 从框架加载自定义单元 xib

ios - iMessageExt 应用启动应用时出错

c++ - ptr_vector 是如何管理内存的?

c++ - Visual Studio (VC++ 2005) 调试内存

c - 以下代码是否泄漏内存

c++ - 为什么没有虚拟析构函数不会导致内存泄漏?