方法1:
UIImage *image = [UIImage imageNamed:@"huahuo.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(10, 50, self.frame.size.width - 20, 100);
[self addSubview:imageView];
[imageView release];
方法2
NSString *path = [NSBundle mainBundle] pathForResource:@"huahuo" ofType:@".png"];
UIImage *image = [UIImage alloc] initWithContentsOfFile:path] ;
UIImageView *imageView = [[UIImaneView alloc] initWithImage:image];
imageView.frame = CGrectMake(10, 50, self.frame, size.width - 20, 100);
[self addSubview:imageView];
[imageView release];
两种方法的不同点:
方法一:用imageName加载图片的时候,实质上系统会把图片缓存到内存中去,如果图片较大或者图片较多的情况下用这张方法会消耗很大的内存,而且对于图片的内存释放也是一件非常复杂的事情,而对于同一张图片,只会缓存一次,对于重复利用非常有优势
方法二:initWithContentOfFile这个方法就是通过查找图片在工程中的位置,然后去加载这张图片,图片数据不会被缓存,对于图片较大,而且使用情况较少的情况下,使用此方法可以节省内存消耗