今天用UIImage 加载图片的时候,一个能正确的加载,一个却死活加载不了,上网找了一下。有人建议使用改用bundle,加载成功。但为什么呢?不明所以!
原文的描述如下:
[UIImage imageNamed:@"icon.png"]
用上面的方法加载图片有问题。该方法即可以从bundle中读取图片。
这种方法在application bundle的顶层文件夹寻找由供应的名字的图象 。
如果找到图片,装载到iPhone系统缓存图象。那意味图片是(理论上)放在内存里作为cache的。因此如果图片资源多了或大了,此方式容易引起发生内存警告从而导致自动退出的问题。
最好是通过直接读取文件路径[UIImage imageWithContentsOfFile]解决掉这个问题,应用示例:
NSString *path = [[NSBundle mainBundle] pathForResource:@”icon”
ofType:@”png”];
myImage = [UIImage imageWithContentsOfFile:path];