iOS经典讲解之UIImage初始化一张图片的方法及优缺点

原创 2015年11月20日 16:31:18


作者:Loving_iOS

转载请标明出处:http://blog.csdn.net/loving_ios/article/details/49948539

方法一、

UIImage *image = [UIImage imageNamed:@"test.png"];

这个方法创建的图片是从缓存里面获取的,先在缓存里查看,看是不是有这个图片,没有的话见图片添加到缓存再使用。有的话直接使用缓存里面的。在程序中,如果这个图片要在多个地方使用的话,建议使用这个方法。缺点是:一旦加入到缓存中就一直占用内存,不能被释放掉。

方法二、

//读取本地图片路径

NSString *imagePath=[NSString stringWithFormat:@"%@/Documents/

%@.jpg",NSHomeDirectory(),@"test"];

[UIImage imageWithContentsOfFile:imagePath];

从手机本地读取,比较第一种方式,这个是直接加载图片的,图片不需要的时候,可以release掉。所以建议在使用重复率低的地方使用这种方法。

方法三、

// 下面的这种方式会出现卡线程的情况,所以建议在子线程中操作
// imageWithData: data

NSURL *url = [NSURL URLWithString:@“http://e.picphotos.baidu.com/album/s%3D550%3Bq%3D90%3Bc%3Dxiangce%2C100%2C100/sign=f51d2708cb11728b342d8c27f8c7b2f3/bba1cd11728b47109d0f5555c5cec3fdfc032302.jpg?referer=f55e30e2d71373f0ac285aaf8d00&x=.jpg"];

UIImage *image2 = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]];

需要注意的是,如果imageWithData:是同步网络请求,如果在主线程直接使用的话,会卡主线程,因此一般不会在主线程中直接使用,而是采用异步网络请求获得data的值。




版权声明:本文为博主原创文章,未经博主允许不得转载。

UIImage两种初始化的区别

UIImage两种初始化的区别 UIImage可以通过以下两种方式进行初始化: //第一种初始化方式:【注意使用这种初始化的时候如果是png格式的可以不给后缀名,根据屏幕的的分辨率去匹配图片】...
  • u014536527
  • u014536527
  • 2016年05月03日 19:10
  • 694

设置UIImage的渲染模式:UIImage.renderingMode详解

设置UIImage的渲染模式:UIImage.renderingMode 着色(Tint Color)是iOS7界面中的一个.设置UIImage的渲染模式:UIImage.renderingMode...
  • HDFQQ188816190
  • HDFQQ188816190
  • 2016年09月21日 13:18
  • 2102

IOS多线程开发其实很简单

概览 大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步...
  • shenjie12345678
  • shenjie12345678
  • 2015年03月09日 11:14
  • 76608

iOS开发之多线程

iOS中多线程的实现方式有NSThread、NSOperation和GCD(全称:Grand Central Dispatch)。 1.NSThread: 优点:NSThread 比其他两个轻...
  • xyx340521
  • xyx340521
  • 2016年03月31日 18:32
  • 90

UIImage两种初始化的区别

UIImage可以通过以下两种方式进行初始化: [objc] view plain copy   //第一种初始化方式:【注意使用这种初始化的时候如果是p...
  • ZSE6200
  • ZSE6200
  • 2016年05月03日 21:59
  • 35

ios开发UIImage imageNamed方法的误用

一、加载图片问题 UIImage image = [UIImage imageNamed:imageFileName]; 这种图片加载方式带有图片缓存的功能,使用这种方式加载图片后...
  • LVXIANGAN
  • LVXIANGAN
  • 2014年05月22日 09:34
  • 15140

iOS开发之多线程

iOS开发之多线程在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步操...
  • mengjun_win
  • mengjun_win
  • 2015年10月07日 20:55
  • 331

IOS开发基础之UIImage

初始化并创建新图片 常用方法: 1. [UIImage imageNamed:@“文件名”]  特点: 1)  查找应用的资源目录下资源文件(已导入工程里的图片),无需关心应用的存放位置。 2) 带有...
  • wwf0123
  • wwf0123
  • 2015年08月04日 01:28
  • 273

UIImage常用属性和方法

一、属性 1、size: reflects orientation setting. In iOS 4.0 and later, this is measured in points. In 3.x...
  • BlackWolfSky
  • BlackWolfSky
  • 2016年05月03日 10:41
  • 1196

iOS 关于UIImage的处理总结

获取最常见颜色并透明化,设置图片透明度,合成图片,获取图片点对应的颜色,压缩图片...
  • rpf2014
  • rpf2014
  • 2016年09月20日 17:39
  • 611
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS经典讲解之UIImage初始化一张图片的方法及优缺点
举报原因:
原因补充:

(最多只允许输入30个字)