在我的追求,以减少内存使用量,另外一个问题。 我看到UIImage
和CGImage
可能是在我的应用程序内存使用率很高的候选人。 无论我用一个UIImage,我试图把它包在使用块有它Dispose()
“尽快天。
然而,经常UIImage
在结束了UIImageView.Image
财产。 如果我删除UIIImageView
从它的父,我应该Dispose()
的Image
前财产并将其设置为null,或者浪费的打字?
在我的追求,以减少内存使用量,另外一个问题。 我看到UIImage
和CGImage
可能是在我的应用程序内存使用率很高的候选人。 无论我用一个UIImage,我试图把它包在使用块有它Dispose()
“尽快天。
然而,经常UIImage
在结束了UIImageView.Image
财产。 如果我删除UIIImageView
从它的父,我应该Dispose()
的Image
前财产并将其设置为null,或者浪费的打字?
我应该Dispose()方法的Image属性
快速回答:没有。
长一点的回答:
的UIImageView.Image
属性, image
选择器,被保留。 即使你处理它(从管理方) 本地 retainCount(Objective-C的是引用计数)的的UIImage
仍然会高于0和(的机端) UIImage
不会被释放。
在废弃UIImageView
它将释放 UIImage
使用它(苹果的Objective-C代码),如果该retainCount到达0,将本地释放。
如果有,当你需要停止之间大延迟UIImage
和你处置的时间UIImageView
,那么你可能要设置UIImageView.Image
到null
。 这将释放(在ObjC的方式,即由一个放弃其retainCount)的UIImage
,如果它不是在别处使用,这将是(本地)释放。
需要注意的是,如果UIImageView
没有设置,然后设置其Image
属性为另一UIImage
将有相同的结果(旧的将被释放)。