iOS加载图片的两种方法

一般情况下我们是这样加载图片的:
UIImage *image = [UIImage imageNamed:@”icon.png”];
这种方法在application bundle的顶层文件夹寻找由供应的名字的图象。如果找到,装载到iPhone系统缓存图象。那意味图片是放在内存里的,如果图很多很大那么运行起来要占很大的内存空间的。
所以,可以这么做
NSString *path = [[NSBundle mainBundle] pathForResource:@”icon” ofType:@”png”];
UIImage *image = [UIImage imageWithContentsOfFile:path];
这样做就没有缓存了,但是如果有高清图,也就是@2x的,就不能自动获取到了,自己把握吧,做UI可以用imageNamed,要处理的大图就推荐使用后面的方法。



2 thoughts on “iOS加载图片的两种方法”

  1. imageNamed: 方法是系统提供缓存(不会很及时释放),如果用这个方法加载大量图片 导致Over Virtual Memory 的Crash, 如果大量图片 建议使用imageWithContentsOfFile这个方法

发表评论

电子邮件地址不会被公开。 必填项已用*标注