ios – 在ARC中过度保留的调试策略?

前端之家收集整理的这篇文章主要介绍了ios – 在ARC中过度保留的调试策略?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些对象在我的应用程序中传递给了很多不同的视图和控制器.当我期望它们时,它们不会被解除分配.显然,某处有一个错误的强指针,但它可能存在的表面区域非常大 – 这些对象被移入和移出许多不同的数据结构.

我通常的解决方案是Leaks(报告没有循环)和Allocations(列出该对象的500个保留/释放).有没有办法减少我的搜索空间?

理想情况下会有一个工具可以让我输入一个指针并查看对象的所有强引用,我可能会注意该列表并在大约60秒内找到额外的引用.事实上,有一种工具 – 对象图表工具 – 但它不适用于iOS软件.

解决方法

你想要Allocations工具.要跟踪单个对象类型,请启动该应用程序.您需要在每个重要事件中创建一个快照(我通常在您刚刚转换到视图控制器或从视图控制器转换时创建它们).

一旦你有一个应该有你想要跟踪的对象的快照,那么你应该能够在快照的显示三角形下找到该对象类型.对于该类型的每个对象,您可以通过单击该对象行中的箭头来获取已发送到该对象的保留和释放的历史记录.

猜你在找的iOS相关文章