我应该使用UIImage还是CGImage?Png还是Jpg?我已经阅读了文档并尝试了不同的东西,但没有注意到显着的改进.加载图像可能需要1秒钟,这似乎很慢
UIImage
只是一个ObjC包装器CGImage
,所以它们是相同的.
从SDK doc:
您应该避免创建大小超过1024 x 1024的UIImage对象.除了这样的图像会占用大量内存之外,在OpenGL ES中将图像用作纹理或将图像绘制到视图或图层时,可能会遇到问题.如果您正在执行基于代码的操作,则此大小限制不适用,例如通过将大小超过1024 x 1024像素的图像绘制到位图支持的图形上下文来调整大小.实际上,您可能需要以这种方式调整图像大小(或将其分成几个较小的图像),以便将其绘制到您的一个视图中.
如果您有一个巨大的图像,您可以尝试使用a UIWebView
来减少内存消耗.
加载图像的时间有两部分:解压缩图像的时间(与选择JPG或PNG相关)和渲染图像的时间.
对于解压缩,我建议您描述简单的语句
[UIImage imageWithContentsOfFile:@"/path/to/your/image.jpg"];