图片异步加载

来源:互联网 发布:淘宝微淘怎么晒买家秀 编辑:程序博客网 时间:2024/05/29 17:00

转自: http://www.cocoachina.com/bbs/read.php?tid=83921

介绍大家一个异步加载图片的公用类: EGOImageLoading   

2012(秋季)CocoaChina开发者大会
逛论坛的时候,发现偶尔还会有人在问怎么做图片的异步加载,很多回答都还是告知用原始的connection,收到数据NSData以后,
再用UIImage initWithData生成图片对象。对于刚开始接触iOS开发的人来说,我还是推荐用这种方式的。但是对于已经有一定iOS
开发经验的人来说,我推荐你们用比较成熟的第三方公用类。


为什么这么说呢,
1) 首先图片异步加载属于一个公共的问题空间,这部分的代码,对于所有需要加载网络图片的项目,逻辑都是一样的,也就是我们应
     该把这部分代码做成可重用的,或者直接使用第三方的图片加载公用类,从而把时间放在解决项目主要业务逻辑代码上。
2) 另外,图片异步加载看似简单,但是如果是想自己来做一个可重用的图片加载公用类,需要考虑的问题还是非常多的,我们来列举
     一下到底有哪些问题需要考虑进去:
     缓存  --  图片相对来说是容量比较大的文件,如果每次加载都从网络请求,一来影响用户的浏览体验,每次都需要等待时间,二来
                    消耗网络带宽,还会给服务器增加响应压力。所以一般做图片异步加载都需要把图片缓存在本地,如果自己来做需要考虑
                    文件的存取代码,另外还需要考虑图片缓存的时效问题,因为网络图片不一定是永久不变的,服务器上的图片可能会在一
                    段时间后被更改,所以需要可以灵活设置一个缓存的失效时间,重新请求并缓存。
     异步线程处理 --- 线程永远都是一个复杂的问题,在理想状态下,异步加载线程很简单,只需要在完成或者失败时回调就可以了,
                                   但是一个周全的异步加载考虑的问题会更多。比如如果发起异步线程的对象被release了,需要通知并停下所有的
                                   异步加载线程请求,否则在线程回调时就有可能发生不可预料的错误。另外像线程的内存释放等等问题我就不再
                                   举例了。

EGOImageLoading是我在项目中用的比较多的一个第三方图片异步加载类,你们可以在git上找到并下载它,链接如下。另外提一下,
广为人知的下拉刷新EGORefreshTableHeaderView也是就是这个人写的。

https://github.com/enormego/EGOImageLoading
(下载后运行demo程序XCode会提示找不到EGOCache.h头文件,可以在这个地方下载https://github.com/enormego/EGOCache)

使用方法可以参照里面的demo程序,很简单,只要把ImageUrl告诉它,剩下的就什么都不用管了,它会帮你异步加载,还会做缓存处理...
?
1
2
3
4
    // 设置默认占位图片
    myEgoimageView.placeholderImage = [UIImage imageNamed:@"placeholder.png"];
    // 告诉它图片的url地址, done
    myEgoimageView.imageURL = [NSURLURLWithString:@"http://simg.cocoachina.com/201111220746561330.jpg"];


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 膀胱壁毛糙增厚怎么办 痔疮手术后尿不出来怎么办 小牛肚一天不尿怎么办 小孩拉肚一直不好怎么办 尿涨但是尿很少怎么办 十四岁尿血医生说是肾炎怎么办 吃肉反胃想吐怎么办 母牛排尿带血尿发烧怎么办 4岁发烧40度怎么办 狗狗拉肚子咳漱哮喘怎么办 拉肚子拉脱水人无力怎么办 孕中期拉稀拉水怎么办 吃坏肚子拉稀水怎么办 手上起小疙瘩疼怎么办 手上长东西很痛怎么办 七八十斤猪拉稀怎么办 宝宝扁桃体化脓反复发烧怎么办 骑单车后膝盖痛怎么办 孩子一运动就喘怎么办 小孩晚上咳嗽很厉害怎么办 1岁宝宝夜里咳嗽怎么办 咳嗽咳的胸疼怎么办 儿童又咳又喘怎么办 咳嗽咳到胸口痛怎么办 咳嗽咳得肋骨疼怎么办 孕妇咳嗽咳得胸口疼怎么办 怀孕偏左侧宫腔怎么办 晨起活动后咳嗽怎么办 运动后乳房坠痛怎么办 嗓子痒咳嗽怎么办夜间最为难受 小孩鼻炎引起的咳嗽怎么办 跑完800米喉咙痒怎么办 过敏源总ige高怎么办 一岁宝宝咳嗽喘怎么办 宝宝又咳又喘怎么办 3岁宝宝有痰怎么办 小孩又咳又喘怎么办 宝宝有点吼和喘怎么办 气管里呛了辣油怎么办 玩手机手抖该怎么办 紧张到手抖做不了事该怎么办