gpt4 book ai didi

iphone - Objective C [对象释放]

转载 作者:行者123 更新时间:2023-12-03 20:22:27 24 4
gpt4 key购买 nike

我正在查看其他人的代码,但它似乎释放了 VIDEO 对象,但随后继续使用它。

现在,根据我对面向对象编程语言的理解,一旦它被释放,它应该从内存中释放......

我看不出它有任何引用...但我假设这就是它没问题的原因。似乎是一件奇怪的事情,(当你还没有完成它时释放它,为什么不使用 autorelease 例如)。

self.video = [[VideoFrameExtractor alloc] initWithVideo:[Utilities bundlePath:@"sophie.mov"]];
[video release];

// set output image size
video.outputWidth = 426;
video.outputHeight = 320;

最佳答案

它相当于:self.video = [[[VideoFrameExtractor alloc] initWithVideo:[实用工具包路径:@"sophie.mov"]] autorelease];

(假设视频是自己保留的)

通过尽可能避免使用自动释放池,可以略微提升性能,并且有助于定位代码中有关引用计数的错误。 soo...假设属性是保留或复制,那么 self 应该恰好保存一个引用 - 这是完美的。

希望有帮助。

关于iphone - Objective C [对象释放],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994640/

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