xco*_*der 10 memory-leaks memory-management objective-c cocos2d-iphone
我曾尝试使用泄漏工具,并"分析"等找到泄漏,但它找不到它.使用分配我可以确定未被释放的对象.
我注意到(通过在dealloc方法中添加调试语句),没有为这些对象调用dealloc.
如何确定哪些对象持有对这些对象的引用并阻止它们被释放?
zap*_*aph 11
如果您需要查看对象使用工具的保留,释放和自动释放的位置:
在仪器中运行,在分配中设置"记录参考计数"(您必须停止记录以设置选项).导致选择器运行,停止记录,搜索那里的ivar(datePickerView),向下钻取,你将能够看到所有保留,释放和自动释放发生的位置.

分析工具无法检测到问题。使用分配工具捕获所有引用计数是一个开始,但是有很多我无法识别或直接访问的类,我无法使用此方法找到问题。相反,我把自己直接负责的类列了一个清单,逐行排查,直到发现问题。原因是我使用了一些第三方库,它们没有按预期减少某些对象的保留计数。我想在这种情况下,遵循更好的软件工程原则/设计模式,并进行彻底的代码审查可能会更早地发现问题。
| 归档时间: |
|
| 查看次数: |
2677 次 |
| 最近记录: |