简单阐述下OC中UIImage三种创建方式~~~
2015-10-21 13:30
525 查看
一. 直接使用imageNamed进行创建
UIImage * image = [UIImage imageNamed:@"1.jpg"];
简单说一下这种方式的优缺点:
优点:代码量少,一行代码就可以搞定。当程序中多次加载这张图片时,系统会指向同一块内存,这样可以提升效率。
缺点:系统每次会将图片缓存到计算机的内存中去,如果图片非常大,非常多,会消耗很大的计算机内存,会出现卡顿的现象。
二.将本地图片转换成NSData类型存储
优点:图片会被系统以数据的方式加载到程序中,当你不需要重复使用一个图片或者你需要加载大量的图片,不会大量消耗计算机内存,使用这种方式。
缺点:代码量较多,没有第一种简单。
三.通过NSURL获取网络图片
上面的PATH是网络图片的地址。
这种方式的优缺点跟第二种应该是一样的,区别就在于获取图片的方式不一样。
写的东西非常简单,希望大家能够多多互相交流学习~谢啦~
UIImage * image = [UIImage imageNamed:@"1.jpg"];
简单说一下这种方式的优缺点:
优点:代码量少,一行代码就可以搞定。当程序中多次加载这张图片时,系统会指向同一块内存,这样可以提升效率。
缺点:系统每次会将图片缓存到计算机的内存中去,如果图片非常大,非常多,会消耗很大的计算机内存,会出现卡顿的现象。
二.将本地图片转换成NSData类型存储
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"jpg"]; NSData *imageData = [NSData dataWithContentsOfFile:filePath]; UIImage *image1 = [UIImage imageWithData:imageData];
优点:图片会被系统以数据的方式加载到程序中,当你不需要重复使用一个图片或者你需要加载大量的图片,不会大量消耗计算机内存,使用这种方式。
缺点:代码量较多,没有第一种简单。
三.通过NSURL获取网络图片
NSURL *url = [NSURL URLWithString:PATH]; NSData *imageData = [NSData dataWithContentsOfURL:url]; UIImage *image = [UIImage imageWithData:imageData];
上面的PATH是网络图片的地址。
这种方式的优缺点跟第二种应该是一样的,区别就在于获取图片的方式不一样。
写的东西非常简单,希望大家能够多多互相交流学习~谢啦~
相关文章推荐
- iOS:模态弹出窗控制器UIPopoverPresentationController
- UIImagePickerController详解
- '<', hexadecimal value 0x3C, is an invalid attribute character. Line 21, position 29.
- 最长单调递增公共子序列(路径记录+poj2127+zoj2432)Greatest Common Increasing Subsequence
- Greatest Common Increasing Subsequence(最长单调递增公共子序列+hdu1423)
- SOAPUI压力测试的参数配置
- SpriteBuilder中CCMotionStreak坐标类型不匹配
- SpriteBuilder中CCMotionStreak坐标类型不匹配
- SpriteBuilder中CCMotionStreak坐标类型不匹配
- 开机NTP服务器报错ntpd_intres++ntp_intres.request:+permission+denied
- 纯代码编写UITableView和UICollectionView中的坑
- iOS9 中UIStackView的使用
- NGUI使用心得之使用TexturePacker创建图集
- UITableView全面讲解
- UIViewController
- AndroidUI组件之ProgressBar
- How to check a static library is built contain bitcode?
- UE 上传视频失败
- HP-UX vPars and Integrity 为vm guest添加、删除磁盘
- __builtin_expect详解