假设我想要查找图像的大小,这样如果用户尝试在我的iPad应用程序中加载一张10,000x10,000像素的图像,我就可以向他们呈现一个对话框而不会崩溃。 如果我使用[UIImage imageNamed:]
或[UIImage imageWithContentsOfFile:]
,那么它将立即将潜在的大型图像加载到内存中。
如果我改用Core Image,就像这样:
CIImage *ciImage = [CIImage imageWithContentsOfURL:[NSURL fileURLWithPath:imgPath]];
然后询问我的新CIImage
的大小:
CGSize imgSize = ciImage.extent.size;
这会将整张图片加载到内存中来告诉我吗?或者只是查看文件的元数据来发现图片的大小?