UIImage *image=[UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"kanmei" ofType:@"jpg"]];
这种方式,如果原始图片大小不够,小于view的大小,可以拉伸,在view释放后也没有什么内存保留。
2:通过图片来生成UIColor设置view的backgroundColor
(1)imageNamed方式
view.backgroundColor=[UIColor
(2)contentOfFile方式
这两种方式都会生成color时占用大量的内存,可能会是原始图片大小的好几倍,还有一个缺点就是这两种方法不会自动拉伸,如果图片大小不够,就会按照原始图片大小一个一个画过去
这两种方式的区别在于:
1:view释放后,1中的color并不会跟着释放,而是一直存在于内存中,不过下次根据这个图片生成color时并不会再次申请内存,而2中的color就会随着view的释放而释放
2:imageNamed读取图片速度比较快
3:通过QuartzCore 方式
UIImage*image = [UIImage imageWithContentsOfFile:[[NSBundlemainBundle]pathForResource:@"kanmei" ofType:@"jpg"]];
这种方式会自动拉伸图片,并且没有额外的内存占用
所以推荐第三种来根据图片设置背景颜色。
http://www.cnblogs.com/v2m_/archive/2012/07/11/2585547.html参考:
联系客服