gpt4 book ai didi

ios - 我是否应该处理 UIImageView 的 Image 属性以帮助 Monotouch 中的垃圾收集器?

转载 作者:可可西里 更新时间:2023-11-01 05:46:52 25 4
gpt4 key购买 nike

关于我减少内存使用的追求,另一个问题。我看到 UIImageCGImage 可能是我应用程序中高内存使用率的候选对象。无论我在哪里使用 UIImage,我都会尝试将它包装在一个 using block 中,以便尽快将其Dispose()

但是,UIImage 通常以 UIImageView.Image 属性结束。如果我从它的 Superview 中删除 UIIImageView,我是否应该 Dispose() 之前的 Image 属性并将其设置为 null 或者这是浪费打字?

最佳答案

am I supposed to Dispose() the Image property

快速回答:不。

长答案:

UIImageView.Image 属性,image选择器,被保留。即使您(从托管端)处置它,UIImagenative retainCount(Objective-C 是引用计数)仍将高于 0 并且( native 端of the) UIImage 不会被释放。

当您处理 UIImageView 时,它会释放它使用的 UIImage(Apple 的 Objective-C 代码),如果 retainCount 达到 0 ,它将被 native 释放。

如果在您不再需要 UIImage 和您处理 UIImageView 之间有很大的延迟,那么您可能需要设置UIImageView.Imagenull。这将释放(以 ObjC 的方式,即将其 retainCount 减一)UIImage,如果它没有在其他地方使用,它将被(本地)释放。

请注意,如果未释放 UIImageView,则将其 Image 属性设置为另一个 UIImage 将得到相同的结果(旧的一个将被释放)。

关于ios - 我是否应该处理 UIImageView 的 Image 属性以帮助 Monotouch 中的垃圾收集器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10427467/

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