Ios setImage上分配的大量内存:

Ios setImage上分配的大量内存:,ios,objective-c,iphone,memory,Ios,Objective C,Iphone,Memory,我有一个以编程方式创建的UIImageView([[UIImageView alloc]init])。在调用setImage:方法之前,应用程序的内存一直处于检查状态。有什么想法吗?我假设您正在使用以下方法将图像设置为图像视图: [imgV setImage:[UIImage imageNamed:@"yourImg.png"]] 使用它的问题是,应用程序会缓存这些图像。如果要避免缓存图像,请使用imageWithContentsOfFile:: [imgV setImage:[UIImage

我有一个以编程方式创建的UIImageView(
[[UIImageView alloc]init]
)。在调用
setImage:
方法之前,应用程序的内存一直处于检查状态。有什么想法吗?

我假设您正在使用以下方法将图像设置为图像视图:

[imgV setImage:[UIImage imageNamed:@"yourImg.png"]]
使用它的问题是,应用程序会缓存这些图像。如果要避免缓存图像,请使用
imageWithContentsOfFile:

[imgV setImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"yourImg.png" ofType:nil]]];
另外,使用完图像后,请确保将图像设置为
nil

[imgV setImage:nil];
我过去对此有过一些问题,以下是我从苹果收到的回复TSI的电子邮件中的一些文字:

在很多情况下,您使用的是API UIImage +imageNamed:加载图像,但您应该知道imageNamed缓存其图像数据,即使在返回的UIImage对象 释放。将对imageNamed的调用替换为-imageWithContentsOfFile: 如下所述,这是一种确保完全控制应用程序功能的方法 内存中的图像数据


我正在使用[UIImage imageWithData:]在使用完图像视图后,您是否将图像视图的
image
设置为
nil
?您正在加载的图像(像素级)有多大?我必须等一分钟:|