0
点赞
收藏
分享

微信扫一扫

Android 图片加载框架 (二)


主要对比主流框架 ​​Glide​​​ 和 ​​Fresco​​ 的优缺点

先看分析

  • ​​主流图片加载框架ImageLoader、Glide、Picasso、Fresco性能分析 ---- 图片加载速度比较​​
  • ​​Glide,Fresco 框架源码解析 – 结尾 --> 解耦图片加载框架​​
  • ​​ Picasso,Glide,Fresco 比较​​

优点

Glide

  • 多种图片格式的缓存,适用于更多的内容表现形式(如Gif、WebP、缩略图、Video)
  • 生命周期集成(根据Activity或者Fragment的生命周期管理图片加载请求)
  • 高效处理Bitmap(bitmap的复用和主动回收,减少系统回收压力)
  • 高效的缓存策略,灵活(Picasso只会缓存原始尺寸的图片,Glide缓存的是多种规格),加载速度快且内存开销小(默认Bitmap格式的不同,使得内存开销是Picasso的一半)

Fresco

  • 最大的优势在于5.0以下(最低2.3)的bitmap加载。在5.0以下系统,Fresco将图片放到一个特别的内存区域(Ashmem区)
  • 大大减少OOM(在更底层的Native层对OOM进行处理,图片将不再占用App的内存)
  • 适用于需要高性能加载大量图片的场景

缺点

Glide

  • 没有文件缓存 -java heap比Fresco高

Fresco

  • 包较大(2~3M)
  • 用法复杂
  • 底层涉及c++领域,阅读源码深入学习难度大

结论

​Fresco​​​ 虽然很强大,但是包很大,依赖很多,使用复杂,而且还要在布局使用 ​​SimpleDraweeView​​​控件加载图片。相对而言 ​​Glid​​​ e会轻好多,上手快,使用简单,配置方便,而且从加载速度和性能方面不相上下。对于一般的 ​​APP​​​ 来说 ​​Glide​​​ 是一个不错的选择,如果是专业的图片 ​​APP​​​ 那么 ​​Fresco​​ 还是必要的。

​Fresco​​​ 更加专业,使用起来也更加有技巧,需要开发认真研究一下官方文档才能用的更好,而 ​​Glide​​ 则是为大部分应用而生,上手简单,满足大部分需求,足以。


举报

相关推荐

0 条评论