美文网首页
App --- 图片库

App --- 图片库

作者: vedon_fu | 来源:发表于2017-05-22 00:12 被阅读215次

一个优秀的图片库需要解决的问题:

  • 图片加载速度
  • 图片展示效果
  • 内存消耗

如何把这三点做透,做到极致是目前业内各大图片库的技术方向。iOS 平台上最受欢迎的莫过于SDWebImage ,有了它,没必要自己再撸一套类似的图片库,要学会站在巨人肩上思考问题 。利用SDWebImage查看一张图片的流程大概如下:

SDWebImage.png

从时序图中,可以得到获取图片的最长路径

  • 请求图片-> 查询Cache -> 发起图片请求 -> 解码图片 -> 缓存图片 -> 返回图片

优化点:

  • 提高Cache性能
  • 优化图片网络
  • 优化图片编解码效率。

提高Cache性能

SDWebImage 使用了两层缓存 :

  • 内存
  • 磁盘

从磁盘加载图片到内存,至少会有一次IO操作,两次Copy 操作。有没有更快的方式?有的,FastImageCache 使用内存映射的方式,把图片加载速度优化到极致!利用内存映射读取图片,至少会有一次IO ,一次Copy 操作。速度比直接从内存读取慢,比磁盘读取快。

三级缓存

  • 内存
  • 内存映射
  • 磁盘
SDWebImageMeetFastImageCache.png

通过三级缓存,提高cache性能。

设计细节

  • 请求图片URL可以加上控件(UIImageView.etc)的大小,这样获取到的图片就不需要额外做裁剪,也没有像素对齐的问题。
  • 根据业务需要,控制FastImageCache 缓存的图片参数(大小,图片色彩数)。
  • 内存Cache 淘汰的图片,存入FastImageCache缓存。
  • 根据设备合理设置内存映射空间。
  • 根据网络状态加强图片库加载失败重试机制。

优化图片网络

To be continute ...

优化图片编解码效率

To be continute ...

相关文章

  • App --- 图片库

    一个优秀的图片库需要解决的问题: 图片加载速度 图片展示效果 内存消耗 如何把这三点做透,做到极致是目前业内各大图...

  • 图片相关

    图片库

  • 2021-12-24

    图片库

  • [笔记5]JavaScript DOM编程艺术_JavaScri

    利用JavaScript来创建图片库将是最佳的选择:把整个图片库的浏览链接集中安排在图片库主页里,只在用户点击了这...

  • 京喜APP - 图片库优化

    介绍 京喜APP早期开发主要是快速原生化迭代替代原有H5,提高用户体验,在这期间也积累了不少性能问题。之后我们开始...

  • 好看的图片网站~

    嘿,你那么好看的图片哪找的? 1、综合图片库 2、宇宙星空图片库 3、食物食材图片库 4、设计师网站 一.综合图片...

  • Glide知识点梳理

    Android常用图片库:Glide、Fresco图片库比较Fresco:Facebook出品,功能强大,使用较复...

  • Android 库 图片库比较

    【Android 库 图片库比较】 四大图片库比较 四大图片缓存基本信息 Universal ImageLoade...

  • 手工打揽(smocking)图片库 第五期

    手工打揽(smocking)图片库 ...

  • Android 题库整理

    一.图片 1、图片库对比 2、LRUCache原理 3、图片加载原理 4、自己去实现图片库,怎么做? 5、Glid...

网友评论

      本文标题:App --- 图片库

      本文链接:https://www.haomeiwen.com/subject/mkmmxxtx.html