欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

图片加载的两种方式

程序员文章站 2022-04-03 08:39:30
...

方式一:有缓存(图片所占用的内存会一直停留在程序中)

+ (UIImage *)imageNamed:(NSString *)name;
name是图片的文件名

一般情况下我们是这样加载图片的:
UIImage *image = [UIImage imageNamed:@”icon.png”];
这种方法在application bundle的顶层文件夹寻找由供应的名字的图象。如果找到,装载到iPhone系统缓存图象。那意味图片是放在内存里的,如果图很多很大那么运行起来要占很大的内存空间的

方式二:无缓存(图片所占用的内存会在一些特定操作后被清除)

+ (UIImage *)imageWithContentsOfFile:(NSString *)path

- (id)initWithContentsOfFile:(NSString *)path;

path是图片的全路径

所以,可以这么做

NSString *path = [[NSBundle mainBundle] pathForResource:@”icon” ofType:@”png”];
UIImage *image = [UIImage imageWithContentsOfFile:path];

这样做就没有缓存了,但是如果有高清图,也就是@2x的,就不能自动获取到了,自己把握吧