UIImageView 使用图片的用法
2014-07-01 20:57
337 查看
//初始化
UIImageView *imageView=[[UIImageView
alloc] initWithFrame:CGRectMake(100, 200, 120, 120)];
//需要设置图片 UIImage
第一种:[imageView setImage:[UIImage imageNamed:@"1.jpeg"]];
//第二种:
NSString *filePath=[[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpeg"];
UIImage *images=[UIImage imageWithContentsOfFile:filePath];
//[imageView setImage:images];
//第三种:
NSData *data=[NSData dataWithContentsOfFile:filePath];
UIImage *image2=[UIImage imageWithData:data];
[imageView setImage:image2];
其中第一 二种属于一种,共两种:
1)用imageNamed的方式加载时,系统会把图像Cache到内存。如果图像比较大,或者图像比较多,用这种方式会消耗很大的内存,而且释放图像的内存是一件相对来说比较麻烦的事情。例如:如果利用imageNamed的方式加载图像到一个动态数组NSMutableArray,然后将将数组赋予一个UIView的对象的animationImages进行逐帧动画,那么这将会很有可能造成内存泄露。并且释放图像所占据的内存也不会那么简单。但是利用imageNamed加载图像也有自己的优势。对于同一个图像系统只会把它Cache到内存一次,这对于图像的重复利用是非常有优势的。例如:你需要在一个TableView里重复加载同样一个图标,那么用imageNamed加载图像,系统会把那个图标Cache到内存,在Table里每次利用那个图像的时候,只会把图片指针指向同一块内存。这种情况使用imageNamed加载图像就会变得非常有效。
2)利用NSData方式加载时,图像会被系统以数据方式加载到程序。当你不需要重用该图像,或者你需要将图像以数据方式存储到数据库,又或者你要通过网络下载一个很大的图像时,请尽量使用imageWithData的方式加载图像。
无论用哪种方式加载图像,图像使用结束后,一定要记得显示释放内存。
UIImageView *imageView=[[UIImageView
alloc] initWithFrame:CGRectMake(100, 200, 120, 120)];
//需要设置图片 UIImage
第一种:[imageView setImage:[UIImage imageNamed:@"1.jpeg"]];
//第二种:
NSString *filePath=[[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpeg"];
UIImage *images=[UIImage imageWithContentsOfFile:filePath];
//[imageView setImage:images];
//第三种:
NSData *data=[NSData dataWithContentsOfFile:filePath];
UIImage *image2=[UIImage imageWithData:data];
[imageView setImage:image2];
其中第一 二种属于一种,共两种:
1)用imageNamed的方式加载时,系统会把图像Cache到内存。如果图像比较大,或者图像比较多,用这种方式会消耗很大的内存,而且释放图像的内存是一件相对来说比较麻烦的事情。例如:如果利用imageNamed的方式加载图像到一个动态数组NSMutableArray,然后将将数组赋予一个UIView的对象的animationImages进行逐帧动画,那么这将会很有可能造成内存泄露。并且释放图像所占据的内存也不会那么简单。但是利用imageNamed加载图像也有自己的优势。对于同一个图像系统只会把它Cache到内存一次,这对于图像的重复利用是非常有优势的。例如:你需要在一个TableView里重复加载同样一个图标,那么用imageNamed加载图像,系统会把那个图标Cache到内存,在Table里每次利用那个图像的时候,只会把图片指针指向同一块内存。这种情况使用imageNamed加载图像就会变得非常有效。
2)利用NSData方式加载时,图像会被系统以数据方式加载到程序。当你不需要重用该图像,或者你需要将图像以数据方式存储到数据库,又或者你要通过网络下载一个很大的图像时,请尽量使用imageWithData的方式加载图像。
无论用哪种方式加载图像,图像使用结束后,一定要记得显示释放内存。
相关文章推荐
- 使用UIImageView展现来自网络的图片
- 关于使用uitableview 中cell 来实现uiimageview的复用和图片的异步加载
- 使用 GCD 自定义 UIImageView 增加异步下载图片的类别
- 使用UIImageView展现来自网络的图片
- ios开发-UIImageView的使用,点击图片刷新对应数据的过程
- 使用UIImageView展现来自网络的图片
- iOS UIImageView显示网络图片的基础用法
- UIImageView 使用animationImages动画展示图片
- 【iOS开发】关于显示一连串图片组成动画效果UIImageView的使用
- iPhone 如何使用UIImageView播放动画,并停留在之后一张图片并添加播放结束时的事件
- 使用UIImageView展现来自网络的图片
- 使用UIImageView展现来自网络的图片
- IOS学习笔记(十)之UIImageView图片视图的基本概念和使用方法
- 使用UIImageView播放图片
- 使用UIImageView展现来自网络的图片
- 在ios中使用opencv将彩色图片转换成为灰度图,uiimageview无法显示问题
- [IOS] 使用UIImageView的contentMode属性, 控制图片显示
- 02-常见控件:UILabel(显示文本)、UIImageView(图片视图)、UISlider(滑动器)、UISwitch(开关)、UIStepper(计数器)、UIToolbar(工具栏)的使用
- UIImageView图片视图的基本概念和使用方法
- iOS项目开发实战——UIImageView的使用与图片显示模式