gpt4 book ai didi

iOS 5 和 6 在 ARC 下释放 malloc-ed 内存

转载 作者:行者123 更新时间:2023-11-28 18:12:02 25 4
gpt4 key购买 nike

如何在 ARC 下的 Objective-C 中释放动态分配的内存?

通过动态我的意思是用malloc分配给一些ivar的内存。

deallocviewDidUnload 不再被调用,至少在我的测试中是这样。

那么当不再需要 View Controller 时,何时以及如何开始释放内存?

我所做的是创建名为 Releasable 的协议(protocol)(这是我从 C# 中窃取的想法),它具有单一方法 -(void) release。当不再需要对象时,一些外部代理会调用它。

最佳答案

dealloc 仍然在ARC下被调用。您只是没有显式调用 [super dealloc]。如果 dealloc 没有被调用,那么某些东西仍然有对对象实例的引用。在您的项目上运行分析器,看看会发生什么。

viewDidUnload 仍会在 iOS 5 下调用,但不会在 iOS 6 下调用。

完全不需要添加协议(protocol)和release 方法。

关于iOS 5 和 6 在 ARC 下释放 malloc-ed 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155975/

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