我有一个UIImageView用于在不同的时间点显示不同的图像。当我想更改显示的图像时,我使用以下代码(其中filenamePng保存要加载的图像名称,imgView是我的UIImageView):
[self.imgView setImage:[UIImage imageNamed:filenamePng]];
当我查看我的应用程序中的“真实内存使用”时,随着不同的图像显示,内存会继续增加(有些png非常大,所以很容易辨别),我玩过将UIImageView设置为nil /释放它但无济于事。
有人可以告诉我为什么在使用上面的代码时,即使设置为nil / release,内存中的先前图像也不会被释放?
答案 0 :(得分:1)
+[UIImage imageNamed:]
使用缓存。假设你的所有引用计数都是正确的,它应该在某个时候清除。此外,在这方面,sim与设备的执行可能会有很大不同。