Iphone 加载2000个图像时UIImage内存问题

Iphone 加载2000个图像时UIImage内存问题,iphone,Iphone,我正在尝试通过更改UIImageView的图像来运行动画。我需要大约200张24K的图片来创建一个5秒的动画。我可以将所有图像加载到内存中(加载到NSArray),但当我启动动画(切换UIImageView的UIImage)时,大约60张图像之后,我会收到内存警告,如果我继续显示图像,应用程序会崩溃 仅仅因为您的图像文件在磁盘上有24Kb,并不意味着这就是它们将占用的内存量 如果您的图像为480x960,每像素1字节,由于压缩(例如jpeg),这可能只是一个小文件大小,但当它在应用程序内存中时,

我正在尝试通过更改UIImageView的图像来运行动画。我需要大约200张24K的图片来创建一个5秒的动画。我可以将所有图像加载到内存中(加载到NSArray),但当我启动动画(切换UIImageView的UIImage)时,大约60张图像之后,我会收到内存警告,如果我继续显示图像,应用程序会崩溃

仅仅因为您的图像文件在磁盘上有24Kb,并不意味着这就是它们将占用的内存量

如果您的图像为480x960,每像素1字节,由于压缩(例如jpeg),这可能只是一个小文件大小,但当它在应用程序内存中时,它将为450KB。将该值乘以60(即获得内存警告的点),您将看到大约27MB

如果你的图像更大,或者有更大的颜色深度,那么显然它们会消耗更多的内存。我想我曾经读到,当你达到22Mb时,iOS会给你一个内存警告,但这也包括为你的应用程序分配的其他内存

仅仅因为你的应用程序将图像“加载”到阵列中,并不意味着它实际上会将其加载到内存中,或者扩展它直到它真正需要它

因此,要计算图像将使用多少内存,不要看文件大小,而是从图像尺寸计算出来。

2000(标题)或200(描述)图像?