第一种方式:
self.imageView.image = [UIImage imageNamed:@"test.jpg"];
第二种方式:
NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"jpg"];
self.imageView2.image = [UIImage imageWithContentsOfFile:path];
通过profile对图片占用内存的分析
第一种方式加载前:
加载后:
可以看到内存增加了16M左右,我加载的图片略大。
self.imageView.image = nil;
图片设为nil之后:
内存没有任何改变。
第二种方式加载前:
第二种方式加载后:
同样增加了16M左右。
self.imageView2.image = nil;
图片设为nil之后:
可见内存基本回到了未加载前的水平。
因此, 在实际应用中,如果是小图而且常用的,比如button的background-image什么的,可以直接加载;如果是大图而且不会频繁出现,就用第二种方式加载。
本例的demo:
http://download.youkuaiyun.com/detail/wanghuafeng123456/5422717