Glide加载图片相比于Picasso而言性能较好,又比Fresco轻巧,而且又支持加载gif动图,是Google 推荐、专注平滑的滚动、简单易用、可扩展的一款图片加载框架。但是使用时还是会遇到一些问题。

1、同时和RoundedImageView使用时,又恰巧RoundedImageView设置了圆角或者圆形,那么在很多手机上会出现,开始有圆角,滑动过去再返回时,圆角消失了。所以加载圆形时还是配合GlideCircleTransform使用比较稳妥。

2、我们在加载的时候一般会设置占位符 ,我们会加一个placeholder (loadingImage)如下

Glide.with(mContext).load(path).placeholder(loadingImage).error(errorImageView).into(mImageView);

  但是会发现一直显示占位符的图片,不显示path 的路径, 这个原因应该是缓存问题。只要加上dontAnimate() 或者把Placeholder (loadingImage)的loadingimage 换成mImageview.getdrawable如下:

Glide.with(mContext).load(path).placeholder(loadingImage).dontAnimate().error(errorImageView).into(mImageView);

  

3、加载gif时,不可以配合使用RoundedImageView,否则gif只能显示成图片。

还有,敲重点!!!在性能比较好的新手机上,可以正常的流畅的播放 但是在性能比较差的旧手机就不行了 有很明显的卡顿现象。

然后百度找原因:glide gif 卡 发现大部分都是以 .diskCacheStrategy(DiskCacheStrategy.SOURCE) 就解决了,但是有的手机加上还是mi有用啊。 So,无奈。glide在除了gif加载外适用还是比较好的。

4、友盟上经常报出很多关于Glide的崩溃,如下

You cannot start a load for a destroyed activity
at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:134)
at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:125)
at com.bumptech.glide.Glide.with(Glide.java:641)

  究其原因,因为Glide是一个网络请求, 会在子线程中进行网络请求,我刚进入程序,Glide还正在子线程中请求数据,这是我就把MainActivity干掉了(onDestroy),Glide没有提前中止请求,所以就崩溃了呀。所以在使用之前还是先加个判断吧:

if (context != null) {
Glide.with(context).load(url).error(default_image).crossFade().into(imageView);
} else {
Log.e(TAG, "Picture loading failed,context is null");
}

所以,使用Glide请注意完美规避以上坑。

By LiYing

Glide加载图片问题记录的更多相关文章

  1. Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果

     Android Glide加载图片时转换为圆形.圆角.毛玻璃等图片效果 附录1简单介绍了Android开源的图片加载框架.在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬 ...

  2. RoundedImageView使用吐槽心得(RoundedImageView与Glide加载图片,第一次加载无法圆角问题)

    最近使用的时候发现一个问题, RoundedImageView与Glide搭配使用的时候,第一次加载图片(内存中没有),后图片无法圆角,后来尝试各种改,最后想到了一个办法,就是让Glide加载图片的 ...

  3. Glide加载图片缓存库出现——You cannot start a load for a destroyed activity

    请记住一句话:不要再非主线程里面使用Glide加载图片,如果真的使用了,请把context参数换成getApplicationContext.

  4. Glide加载图片的事例

    //获取图片的url String url = resultsEntity.getUrl(); //判断获取的图片是否存在 if (resultsEntity.getItemHeight() > ...

  5. Glide加载图片到自定义的圆形ImageView中不显示

    当使用自定义的圆形ImageView时,发现使用Glide加载并设置默认初始图片时,自定义的ImageView一直显示默认图片,无法更新到加载的图片. 使用下面代码可以解决这个问题 Glide.wit ...

  6. Glide 加载图片

    //通过model获取到图片的url,将Url转换成bitmap对象: //设置不保存内存和硬盘缓存, 1 Glide.with(mContext).load(model.getVideoUrl()) ...

  7. ListView或GridView的Adapter使用Glide加载图片异常

    报错信息为:You must not call setTag() on a view Glide is targeting 原因就是View使用setTag后导致Glide之前请求的标记被清除,强制转 ...

  8. Android中的Glide加载图片

    注意:在Android Studio的项目的build.gradle中添加: compile 'com.github.bumptech.glide:glide:3.6.1' 然后同步一下 目录: 使用 ...

  9. Android Glide 加载图片

    0.借鉴文章地址:http://blog.csdn.net/zivensonice/article/details/51835802 和 http://www.cnblogs.com/zhaoyanj ...

随机推荐

  1. 百度地图和高德地图的API视频教程

    学习地址: http://www.houdunren.com/houdunren18_lesson_152?vid=10228 素材地址: https://gitee.com/houdunwang/v ...

  2. perl-basic-分支&循环

    if elsif shorter if: if+condition放在句子尾部. use strict; use warnings; my $word = "antidisestablish ...

  3. SDUSToj第十一次作业源代码格式问题

    Problem I: 源代码的格式 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 1471  Solved: 634 [Submit][Status][W ...

  4. linux中的部分宏

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  5. Aizu 2450 Do use segment tree 树链剖分

    题意: 给出一棵\(n(1 \leq n \leq 200000)\)个节点的树,每个节点有一个权值. 然后有\(2\)种操作: \(1 \, a \, b \, c\):将路径\(a \to b\) ...

  6. 第4章--变量,作用域和内存问题 jquery

    4.1基本类型和引用类型的值 解析器要分析赋给变量的值是基本类型值还是引用类型的值 基本类型:undefined   null   boolean   number    string 引用类型的值: ...

  7. [python学习篇][廖雪峰][1]高级特性--列表生成式

    >>> import os >>> [d for d in os.listdir(r"d:\temp")] ['0.png', '0.xml', ...

  8. 紫书第三章训练1 D - Crossword Answers

    A crossword puzzle consists of a rectangular grid of black and white squares and two lists of defini ...

  9. python风格之包导入

    导入总应该放在文件顶部, 位于模块注释和文档字符串之后, 模块全局变量和常量之前. 导入应该按照从最通用到最不通用的顺序分组: 标准库导入 第三方库导入 应用程序指定导入 每种分组中, 应该根据每个模 ...

  10. Collection类及常用API

    Collection类及常用API Collection—类集工具类,定义了若干用于类集和映射的算法,这些算法被定义为静态方法,具体查看api文档; a)  public static void so ...