Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIImage是否缓存文件或渲染的位图?_Ios_Memory Management_Uiimageview - Fatal编程技术网

Ios UIImage是否缓存文件或渲染的位图?

Ios UIImage是否缓存文件或渲染的位图?,ios,memory-management,uiimageview,Ios,Memory Management,Uiimageview,我通常在iOS项目(加载到UIImageView实例的NIB中)中使用Fireworks PNG(具有不同的层,一些隐藏的,等等)。通常,我使用PNG并将其重新保存为PNG-32以使文件更小,但我现在对此提出质疑(因为这样我就必须单独存储PNG) 在我粗略的测试中,较小的文件大小不会影响最终的内存使用是否存在关系,或者最终渲染的位图是否重要? 注意:我不是在问使用像素太大的图像。一个有效的比较应该是1mb的高质量jpeg与100K的相同内容的低质量jpeg。内存使用是否相同?UIImageVie

我通常在iOS项目(加载到
UIImageView
实例的NIB中)中使用Fireworks PNG(具有不同的层,一些隐藏的,等等)。通常,我使用PNG并将其重新保存为PNG-32以使文件更小,但我现在对此提出质疑(因为这样我就必须单独存储PNG)

在我粗略的测试中,较小的文件大小不会影响最终的内存使用是否存在关系,或者最终渲染的位图是否重要?


注意:我不是在问使用像素太大的图像。一个有效的比较应该是1mb的高质量jpeg与100K的相同内容的低质量jpeg。内存使用是否相同?

UIImageView
不进行任何处理,因此,如果设置大图像,则无论imageView的大小如何,当imageView需要时,整个内容都会加载到内存中。所以,是的,这确实有区别。您应该存储在
imageView
中工作的最小图像


当您当前的示例使用NIB时,如果您正在创建一个显示从其他来源(如设备摄像头或外部服务)获取的大型图像的应用程序,那么您将在
UIImageView

中使用这些图像之前,先将其缩放到显示大小对不起,我这里指的是文件大小,而不是图像大小或显示大小。答案是否仍然相关?谢谢。我的答案与内存大小有关。如果文件最终具有相同的内存占用空间,那么使用哪一个就无关紧要了。较小的文件大小应该加载得更快一些,但这可能不明显。一般来说,我总是建议使用最小大小的资源。考虑到其他限制(如你的时间等)是合理的。这才是真正的问题。确定内存占用的是结果位图(全尺寸),还是必须解析的文件?UIImage缓存是什么?渲染位图还是文件?对于这个问题,加载时间无关紧要,除非每次都从文件加载UIImage。只是修改了问题以反映这个更简单的问题。再次感谢。生成的位图决定了内存占用。文件大小确实与此相关,例如,越小越好,并且会产生影响。加载数据后,您应该在仪器中看到这一点(例如显示
imageView
)。