gpt4 book ai didi

iphone - 仪器 : checking for memory leaks inquiry

转载 作者:行者123 更新时间:2023-12-03 16:52:07 25 4
gpt4 key购买 nike

我很好奇,当一个人继续使用 Instruments 执行泄漏检查代码时,手动点击应用程序的所有部分以确保相应区域发生内存泄漏是否明智?例如,我相信我的应用程序中存在一些内存泄漏,位于 UINavigationController 树的深处。我是否可以继续运行应用程序检查是否存在泄漏,同时在 iPhone 上手动深入查看应用程序的该部分? Instruments 是否足够聪明,能够自行找到它?正确的处理方法是什么?

感谢您的见解!

最佳答案

不,Instruments 只是监视代码的内存分配,它不会“去”任何地方,除非您的应用程序去那里。实际上,泄漏只不过是一 block 不再存在引用的内存;因此它不能再被释放,因为如果你甚至不能再引用它,你将来如何释放它呢?

不过,仪器无法通过这种方式发现所有内存泄漏。如果您保留对内存的引用,但永远不要使用它们来释放内存,I​​nstruments 不会将其视为泄漏,因为它无法预见您将来是否会释放它。由于您仍然可以释放它,因此不被视为泄漏。因此,如果您遇到内存问题,不仅要查找泄漏,还要监视应用程序随时间“收集”的内存量可能会有所帮助。如果这个值永久上升,即使它不应该上升,您可能仍然存在泄漏,只是不会丢失对内存的引用。

关于iphone - 仪器 : checking for memory leaks inquiry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/586759/

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