图片的两种加载方式
- 有缓存
- 使用场合:图片比较小,使用频率比较高
- 建议: 把需要缓存的图片放到.xcassets中,放到.xcassets中的图片,只能通过图片名去加载,苹果会压缩图片,而且默认带有缓存
- 优点:默认缓存图片,方便下次使用,下次访问图片直接去内存,不需要再读取文件,加快访问速度;:如果资源是经常使用的,就放在内存中,不需要耗时的读写操作
- 缺点:缓存是会越积越多的,占用内存
- 通过imageNamed:加载图片默认使用缓存技术
UIImage *image =[UIImage imageNamed:@"图片名"];
- 没有缓存
- 使用场合:图片比较大,占内存,使用频率比较低
- 建议: 不需要缓存的图片不能放在.xcassets中
- 通过imageWithContentsOfFile:加载图片不使用缓存技术
- 只要方法名中带有file,都是传全路径
NSString *file = [[NSBundle mainBundle] pathForResource:@"图片名" ofType:@"图片扩展名"];
UIImage *image = [UIImage imageWithContentOfFile:file];
- 总结
- 放在.xcassets中的图片,只能通过文件名访问,没有全路径
- 大批量的图片不要放在.xcassets中,默认就带有缓存