登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

高仿微信和今日头条图片浏览器LBPhotoBrowser (第四版)

[复制链接]
来自: 请叫我诛仙 分类: iOS精品源码 上传时间: 2018-1-3 15:50:56
Tag:

项目介绍:

高仿微信和今日头条图片浏览器(LBPhotoBrowser)

这是目前第四个大的版本了,demo做的也比较详细. 相关的详细介绍和demo的下载地址 --> 请移步

github地址: https://github.com/tianliangyihou/LBPhotoBrowser

概览(Overview)

LBPhotoBrowser对gif图片的加载机制:

LBPhotoBrowser对gif的播放提供了两种方式:

(1)采用系统的 + (nullableUIImage*)animatedImageWithImages:(NSArray *)images duration:(NSTimeInterval)durationNS_AVAILABLE_IOS(5_0);

(2)自定义gif的播放,具体步骤如下:

   * 获取当前手机可以利用的内存和当前展示的gif图片每帧图片加载到内存占用的大小,以取得当前内存可以加载gif的最大帧数.
     最大加载帧数 = 可利用内存 /  每帧图片的大小.
     
   * 使用CADisplayLink作为定时器,开始展示当前帧的图片
   
   * 获取当前帧的展示时间,展示完毕,切换下一帧图片.当在展示当前帧的图片的时候, 异步线程(自定义NSOperation)去取下一帧的图片,以供当前帧的图片展示
     完毕后,直接从缓存的buffer(字典)中读取.
     
   * 当gif图片的帧数大于当前内存适合加载的帧数的时候,buffer(字典)会不断的移除已展示过的图片,来确保加载到内存中的图片数稳定.
     如果小于可加载的最大帧数,直接全部加载到内存,节省CPU.
     
   * LBPhotoBrowser为了保证较低的CPU消耗,即使在图片浏览器加载多张gif的时候,也会保证同一时间内,只会对一张gif进行处理,不会同时去解压多张gif图片.
   
   建议使用第二种加载方式 即 lowGifMemory = YES, 通过 LBPhotoBrowserManager 的 lowGifMemory 属性控制 
   
   当你加载的gif图片较多,并且gif的帧数也比较多,两种方式的差别会特别明显,方式2的优点也越明显.(不要使用模拟器测试)

LBPhotoBrowser对网络图片的预加载机制:

LBPhotoBrowser 将网络图片的加载分为两种:
  
 (1)缩略图和大图使用同一个url 不需要提供预加载
 
 (2)缩略图和大图使用不同的url 提供预加载  
 
    * 当点击图片,通过LBPhotoBrowser展示大图的过程中,LBPhotoBrowser会自动提前加载当前图片左右两张图片,以方便用户浏览
    
    * 当用户在滑动图片的过程中,LBPhotoBrowser会始终保持优先加载当前展示图片和当前展示图片左右两张的图片,并且停止离当前图片较远图片的加载
    
    * 当用户退出LBPhotoBrowser,停止所有图片的加载
   
   当你使用(1)展示图片的时候,请设置`LBPhotoBrowserManager`的`needPreloading` = `NO`. 
   
   注:
      缩略图: 当前展示给用户的图片
        大图: 点击缩略图后,使用LBPhotoBrowser展示给用户的图片

相关源码推荐:

我来说两句
*滑动验证:
所有评论(93)
phoiu 2018-1-5 10:28:35
code4app确实是个好地方,必须支持~
回复
kengsir 2018-1-5 10:29:27
虽不明,但觉厉...
回复
AlonMessi 2018-1-5 10:33:35
mark,收藏了
回复
BlueManlove 2018-1-5 10:34:22
不错不错,楼主辛苦了。。。
回复
hellokenken 2018-1-5 10:35:07
不错不错,楼主辛苦了。。。
回复
littleRed 2018-1-5 10:36:13
code4app好的代码demo真的很多,谢谢啦~
回复
code4app热心网友 2018-1-5 13:43:58
精华内容,楼主V5!
回复
请叫我诛仙 2018-1-5 15:17:35
我只是路过打酱油的。
回复
code4app热心网友 2018-1-7 06:00:01
我只是路过打酱油的。
回复
提取码:  下载次数:110 状态:已购或VIP 售价:0(原价:15)金钱 下载权限:初级码农 
2773 1 110
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表