zoukankan      html  css  js  c++  java
  • Glide 图片加载开源库

    //Glide使用了流式接口的调用方式
    //Glide类是核心实现类。
            Glide.with(context).load(Url).into(targetImageView);
    //实现图片加载功能至少需要三个参数:
    //with(Context context)
    //Context对于很多Android API的调用都是必须的,这里就不多说了
    //load(String imageUrl):被加载图像的Url地址。
    //大多情况下,一个字符串代表一个网络图片的URL。
    //into(ImageView targetImageView):图片最终要展示的地方。

    1. 优点

    • 多样化媒体加载
      Glide 不仅是一个图片缓存,它支持 Gif、WebP、缩略图。甚至是 Video

    • 生命周期集成
      通过设置绑定生命周期,我们可以更加高效的使用Glide提供的方式进行绑定,这样可以更好的让加载图片的请求的生命周期动态管理起来

    • 高效的缓存策略
      A. 支持Memory和Disk图片缓存
      B. Picasso 只会缓存原始尺寸的图片,而 Glide 缓存的是多种规格,也就意味着 Glide 会根据你 ImageView 的大小来缓存相应大小的图片尺寸

      比如你 ImageView 大小是200200,原图是 400400 ,而使用 Glide 就会缓存 200200 规格的图,而 Picasso 只会缓存 400400 规格的。这个改进就会导致 Glide 比 Picasso 加载的速度要快,毕竟少了每次裁剪重新渲染的过程,非常灵活 & 加载速度快

      C. 内存开销小
      默认的 Bitmap 格式是 RGB_565 格式,而 Picasso 默认的是 ARGB_8888 格式,这个内存开销要小一半。

      Android关于图片内存计算,共有四种,分别是:

      1. ALPHA_8:每个像素占用1byte内存
      2. ARGB_4444:每个像素占用2byte内存
      3. ARGB_8888:每个像素占用4byte内存(默认,色彩最细腻=显示质量最高=占用的内存也最大)
      4. RGB_565:每个像素占用2byte内存(8bit = 1byte)
        举例说明:一个32位的PNG=ARGB_8888=1204x1024,那么占用空间是:1024x1024x(32/8) = 4,194,304kb=4M左右
        在解析图片的时候,为了避免oom和节省内存,最好使用ARGB_4444模式(节省一半的内存空间)

    2 .缺点

      • 使用方法复杂
        由于Glide其功能强大,所以使用的方法非常多,其源码也相对的复杂
      • 包较大
  • 相关阅读:
    pymoo: Multi-objective Optimization in Python
    读代码——NSGAII
    读论文——A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II
    神经网络入门00
    梯度下降pthon实现
    在线加解密工具
    安恒杯-一张谍报
    漏洞挖掘学习记录
    安恒杯-元数据存储
    安恒杯-babysql
  • 原文地址:https://www.cnblogs.com/fuyunmomo/p/7650476.html
Copyright © 2011-2022 走看看