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的值。




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

相关文章推荐

iOS图形渲染解析

原文地址:http://www.cocoachina.com/ios/20160929/17673.html 这次主要要讲一些关于绘图方面的东西,涉及的方面可能会比较多一点,也是前段时间项目中有...

iOS 图片压缩UIImage方法扩展

iOS自带的提供了一个API如下 [html] view plaincopy NSData *UIImageJPEGRepresentation(U...

iOS 图片压缩UIImage方法扩展

iOS自带的提供了一个API如下 [html] view plaincopy NSData *UIImageJPEGRepresentation(U...

34.UIImage — 把多张图片合成一张图

UIImage — 把多张图片合成一张图

ios UIImage category 图片加载

  • 2012年12月23日 12:48
  • 3KB
  • 下载

iOS多张图片上传多线程处理方法(可获取最后一张上传状态后的信号)

环境重现1,服务端提供单张上传的接口。 2,客户端需求同时提交多张图片上传。 3,使用AFNetWorking 或 自封装的带有block回调网络状态的框架。思路1,创建一个管理类。 2,提供一...
  • wxs0124
  • wxs0124
  • 2016年06月15日 01:44
  • 3684

iOS uiimage部分截取图片

  • 2014年05月19日 15:27
  • 36KB
  • 下载

iOS经典讲解之图片拉伸的几种方法

1、通过UIImageView的属性image来设置 图片会根据UIImageView的宽高自动拉伸,这样有比较大的的缺陷,就是会失真和变形 UIImage *image = [UIImage ima...

[IOS] UIImage创建圆角图片

UI开发中, 很多时候需要用到圆角图片或者圆形t
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS经典讲解之UIImage初始化一张图片的方法及优缺点
举报原因:
原因补充:

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