将大型UIImage放入小型UIImageView自动调整大小吗?

时间:2011-12-23 00:02:39

标签: iphone objective-c

假设我有一个UIImage 1000x1000,我的UIImageView的帧大小为50x50。如果我将UIImageView的图像设置为大图像,UIImage会自动调整为50x50吗? UIImageView contentMode是ScaleToFit。

我知道图像确实缩小到50x50以适应那里,但就内存而言,在将图像设置为UIImageView图像之前将图像重新调整为50x50会更好吗?

我知道它不会对一个图像产生影响,但我在UIScrollView中有数百个大图像和图像视图,因此我想确保获得最快,最流畅的性能。

1 个答案:

答案 0 :(得分:0)

我可以想到几个考虑因素。 UIImage ImageNamed:将为整个应用运行缓存图像,即使不再使用也是如此。如果将使用或添加任意图像而不是静态集,请确保使用NSData从连接,文件或数据库加载图像。此外,我还没有为至少几个iOS版本检查仪器,但我相信原始图像被缓存以进行缩放。如果没有特定的问题,您实际上遇到内存不足或速度慢的问题,请不要先采取先发制人的优化措施。否则,有一些技术可能会有所帮助。首先,您可能只想保留当前屏幕上的内容。使用UITableView和单元重用比使用裸UIScrollView更容易。其次,对于我使用的一个拥有大量缩略图的应用程序,我将它们缩放一次并将它们存储在数据库中。