Android 图片加载框架之Glide

   一、简介

        在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。
        (1)使用简单
        (2)可配置度高,自适应程度高
        (3)支持常见图片格式,Jpg png gif webp
        (4)支持多种数据源,网络、本地、资源、Assets
        (5)高效缓存策略,支持Memory和Disk图片缓存 默认Bitmap格式采用RGB_565内存使用至少减少一半
        (6)生命周期集成,根据Activity/Fragment生命周期自动管理请求
        (7)高效处理Bitmap,使用Bitmap Pool使Bitmap复用,主动调用recycle回收需要回收的Bitmap,减小系统回收压力


   二、下载地址

      https://github.com/bumptech/glide


   三、功能

        1、简单使用

            Glide
    .with(this)
    .load("http://inthecheesefactory.com/uploads/source/nestedfragment/fragments.png")
    .into(imageView);


        2、Glide.with()使用

            (1)with(Context context). 
                使用Application上下文,Glide请求将不受Activity/Fragment生命周期控制
            (2)with(Activity activity).
                使用Activity作为上下文,Glide的请求会受到Activity生命周期控制
            (3)with(FragmentActivity activity).
                Glide的请求会受到FragmentActivity生命周期控制
            (4)with(android.app.Fragment fragment).
                Glide的请求会受到Fragment 生命周期控制
            (5)with(android.support.v4.app.Fragment fragment).
                Glide的请求会受到Fragment生命周期控制


        3、load()使用

            Glide基本可以load任何可以拿到的媒体资源
            SD卡资源:load("file://"+ Environment.getExternalStorageDirectory().getPath()+"/test.jpg") 
            assets资源:load("file:///android_asset/f003.gif") 
            raw资源:load("Android.resource://com.frank.glide/raw/raw_1")或load("android.resource://com.frank.glide/raw/"+R.raw.raw_1) 
            drawable资源:load("android.resource://com.frank.glide/drawable/news")或load("android.resource://com.frank.glide/drawable/"+R.drawable.news) 
            ContentProvider资源:load("content://media/external/images/media/139469") 
            http资源:load("https://img-my.csdn.net/uploads/201508/05/1438760757_3588.jpg") 
            https资源:load("https://img.alicdn.com/tps/TB1uyhoMpXXXXcLXVXXXXXXXXXX-476-538.jpg_240x5000q50.jpg_.webp") 
            注意:
                load不限于String类型
                    还可以是:load(Uri uri),load(File file),load(Integer resourceId),load(URL url),load(byte[] model),load(T model),loadFromMediaStore(Uri uri)。 


        4、重要功能:

            (1)禁止内存缓存:

.skipMemoryCache(true)

            (2)清除内存缓存:

    // 必须在UI线程中调用
    Glide.get(context).clearMemory();

            (3)禁止磁盘缓存:               

.diskCacheStrategy(DiskCacheStrategy.NONE)

            (4)清除磁盘缓存:

   // 必须在后台线程中调用,建议同时clearMemory()
   Glide.get(applicationContext).clearDiskCache();

            (5)获取缓存大小:

new GetDiskCacheSizeTask(textView).execute(new File(getCacheDir(), DiskCache.Factory.DEFAULT_DISK_CACHE_DIR));

            (6)指定资源的优先加载顺序:
            (7)先显示缩略图,再显示原图:
            (8)对图片进行裁剪、模糊、滤镜等处理:
            (9)对请求状态进行监听:
            (10)对资源的下载进度进行监听: 


        5、API方法说明

            (1)thumbnail(float sizeMultiplier). 
                请求给定系数的缩略图。如果缩略图比全尺寸图先加载完,就显示缩略图,否则就不显示。系数sizeMultiplier必须在(0,1)之间,可以递归调用该方法。

     
            (2)sizeMultiplier(float sizeMultiplier). 
                在加载资源之前给Target大小设置系数。


            (3)diskCacheStrategy(DiskCacheStrategy strategy).

              设

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值