我应该做处理一个UIImageView的图像属性来帮助垃圾收集器在MonoTouch的?(Am I

2019-09-16 23:51发布

在我的追求,以减少内存使用量,另外一个问题。 我看到UIImageCGImage可能是在我的应用程序内存使用率很高的候选人。 无论我用一个UIImage,我试图把它包在使用块有它Dispose() “尽快天。

然而,经常UIImage在结束了UIImageView.Image财产。 如果我删除UIIImageView从它的父,我应该Dispose()Image前财产并将其设置为null,或者浪费的打字?

Answer 1:

我应该Dispose()方法的Image属性

快速回答:没有。

长一点的回答:

UIImageView.Image属性, image选择器,被保留。 即使你处理它(从管理方) 本地 retainCount(Objective-C的是引用计数)的的UIImage仍然会高于0和(的机端) UIImage不会被释放。

在废弃UIImageView它将释放 UIImage使用它(苹果的Objective-C代码),如果该retainCount到达0,将本地释放。

如果有,当你需要停止之间大延迟UIImage和你处置的时间UIImageView ,那么你可能要设置UIImageView.Imagenull 。 这将释放(在ObjC的方式,即由一个放弃其retainCount)的UIImage ,如果它不是在别处使用,这将是(本地)释放。

需要注意的是,如果UIImageView没有设置,然后设置其Image属性为另一UIImage将有相同的结果(旧的将被释放)。



文章来源: Am I supposed do dispose the Image property of a UIImageView to help Garbage Collector in Monotouch?