美文网首页
图片加载框架Glide使用指引

图片加载框架Glide使用指引

作者: 哈哈_68b3 | 来源:发表于2017-03-28 00:58 被阅读0次

    Glide介绍

    这里引用框架作者的介绍

    Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface. bumptech

    简单来说Glide是一个快速和高效的Android开源媒体管理和图像加载框架。


    如何使用

    1. 在 Gradle中加入如下代码:
    repositories {   
        mavenCentral()    
    }    
    dependencies {   
        compile 'com.github.bumptech.glide:glide:3.7.0'   
    }   
    
    1. 在安卓的文件加入网络访问权限
      <uses-permission android:name="android.permission.INTERNET"/>

    2. 在需要加载图片的地方尽情玩耍

    ImageView iv = (ImageView) findViewById(R.id.id_img);
    RequestManager requestManager = Glide.with(this);
    GenericRequestBuilder builder = requestManager.load("http://imgsrc.baidu.com/forum/w%3D580/sign=97c4a9e062380cd7e61ea2e59145ad14/db7e47a98226cffc39ade9e2be014a90f703ea92.jpg");
    builder.into(iv);
    

    使用这以上三步即可成功图片加载图片。效果如下图所示

    X.png

    Glide 不仅可以加载静态图片、还可以加载动态图片。如下图所示

    (找不到mp4转gif,如果上存不了MP4的就删掉这个)

    Glide 方法使用

    1. Glide.with()使用(返回关联了相应上下文的RequestManager实例。)
    with(Context context). 使用Application上下文,Glide请求将不受Activity/Fragment生命周期控制。
    with(Activity activity).使用Activity作为上下文,Glide的请求会受到Activity生命周期控制。
    with(FragmentActivity activity).Glide的请求会受到FragmentActivity生命周期控制。
    with(android.app.Fragment fragment).Glide的请求会受到Fragment 生命周期控制。
    with(android.support.v4.app.Fragment fragment).Glide的请求会受到Fragment生命周期控制。
    
    1. requestManager.load()使用(返回GenericRequestBuilder实例。)
    Glide基本可以load任何可以拿到的媒体资源,如:
        load(Uri uri)
        load(File file)
        load(Integer resourceId)
        load(URL url)
        load(byte[] model)
        load(T model)
        loadFromMediaStore(Uri uri)
    。load的资源也可以是本地视频,如果想要load网络视频或更高级的操作可以使用VideoView等其它控件完成。 
    
    1. GenericRequestBuilder使用
    diskCacheStrategy(DiskCacheStrategy strategy).设置缓存策略。     DiskCacheStrategy.SOURCE:缓存原始数据,DiskCacheStrategy.RESULT:缓存变换(如缩放、裁剪等)后的资源数据,DiskCacheStrategy.NONE:什么都不缓存,DiskCacheStrategy.ALL:缓存SOURC和RESULT。默认采用DiskCacheStrategy.RESULT策略,对于download only操作要使用DiskCacheStrategy.SOURCE。
    priority(Priority priority). 指定加载的优先级,优先级越高越优先加载,但不保证所有图片都按序加载。枚举Priority.IMMEDIATE,Priority.HIGH,Priority.NORMAL,Priority.LOW。默认为Priority.NORMAL。
    placeholder(int resourceId). 设置资源加载过程中的占位Drawable。
    placeholder(Drawable drawable). 设置资源加载过程中的占位Drawable。
    error(int resourceId).设置load失败时显示的Drawable。
    error(Drawable drawable).设置load失败时显示的Drawable。
    skipMemoryCache(boolean skip). 设置是否跳过内存缓存,但不保证一定不被缓存(比如请求已经在加载资源且没设置跳过内存缓存,这个资源就会被缓存在内存中)。
    into(ImageView view). 设置资源将被加载到的ImageView。取消该ImageView之前所有的加载并释放资源。
    into(int width, int height). 后台线程加载时要加载资源的宽高值(单位为pixel)。
    asBitmap(). 无论资源是不是gif动画,都作为Bitmap对待。如果是gif动画会停在第一帧。
    asGif().把资源作为GifDrawable对待。如果资源不是gif动画将会失败,会回调.error()。
    

    相关文章

      网友评论

          本文标题:图片加载框架Glide使用指引

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