第一种方式:
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.csdn.net/detail/wanghuafeng123456/5422717
本文探讨了两种图片加载方式对内存的影响。第一种方式加载大图会导致内存增加约16M,适合不频繁出现的大图;而第二种方式加载后内存能回到初始状态,适用于小图或常用背景。实践中,应根据图片大小和使用频率选择合适的加载策略。
6655

被折叠的 条评论
为什么被折叠?



