我有一个UIImageView
,可根据级别更改图片。但是,每次更改它时,都会保留最后一张图像,并且内存使用率会不断上升。我认为imageView将图像堆叠在另一个之上。我尝试过在设置新图像之前设置self.imageView.image = nil
,但这似乎不起作用。如何正确执行此操作?
if (level == 1) {
self.imageView.image = [UIImage imageNamed:@"1"];
} else if (level == 2) {
self.imageView.image = [UIImage imageNamed:@"2"];
} else if (level == 3) {
self.imageView.image = [UIImage imageNamed:@"3"];
最佳答案
如果您有只显示一次的图像文件,并希望
确保不将其添加到系统的缓存中,您应该
而是使用imageWithContentsOfFile:创建图像。这将
将一次性图像保留在系统图像缓存之外
改善应用程序的内存使用特性。
在这里阅读:UIImage Documentation
结论,使用imageNamed将图像添加到缓存中可能最终会增加内存使用量。相反,请使用imageWithContentsOfFile,以便不会将图像添加到缓存中。
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
关于ios - 如何删除UIImageView的最后一张图片?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34458863/