第一次写博客,文笔不好,请大家多多关照,欢迎拍砖
在Android开发中,常用的加载图片工具有,Glide,Picasso,Fresco,其中Glide和Picasso使用方法极为相似,相对于Picasso来说,Glide加载图片更为迅速,内存占用更小等优点,但图像呈现和图像质量略逊一筹,而Fresco还未曾使用,对此不作评价。

首先集成Glide,因为项目用的是这个版本,所以就以此版本为例
如果想看最新版Glide,,,,,传送门

 compile 'com.github.bumptech.glide:glide:3.7.0'

修改布局代码,增加一个ImageView用来显示图片

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ImageView
        android:id="@+id/ivTestImage"android:layout_width="100dp"android:layout_height="100dp"/>
</RelativeLayout>

在Activity获取图片

public class MainActivity extends AppCompatActivity {private ImageView mivTestImage;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mivTestImage=(ImageView) findViewById(R.id.ivTestImage);Glide.with(this).load("你的图片地址").into(mivTestImage);//获取图片资源}
}

运行程序

(如图片未显示请检查AndroidManifest.xml文件中是否添加网络权限)

这就坑了,淡绿色,,,,,明明是白底怎么变成了淡绿色

以为是自己手贱加了底色,瞅瞅布局,没有添加底色,于是百度了一番。原来Glide默认的Bitmap格式是RGB_565,这也是导致在加载图片是可能变绿的罪魁祸首。RGB_565 代表8位RGB位图,而Picasso默认的Bitmap格式是ARGB_8888 代表32位RGB位图,位图位数越高代表其可以存储的颜色信息越多,图像也就越逼真,这也是Picasso图像质量更好的原因了

知道了原因也就可以动手改问题了,我们先新建一个类

public class GlideConfiguration implements GlideModule{  @Override  public void applyOptions(Context context, GlideBuilder builder) {  builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888); //修改Bitmap格式为ARGB_8888}    @Override  public void registerComponents(Context context, Glide glide) {  }
}

然后在你的AndroidManifest.xml文件中注册改类

<meta-data  android:name="你的包名.GlideConfiguration"  android:value="GlideModule"/>

不要以为这样就万事大吉了,虽然这样能解决部分机型问题(魅蓝,魅族部分,小米,红米部分机型),但还有一部分机型未能解决,如荣耀8青春版…….

如何解决呢?很简单,在使用Glide缓存图片时,增加

diskCacheStrategy(DiskCacheStrategy.SOURCE)
//查有道翻译了一下,大概意思是将图片完整缓存

完整代码如下

public class MainActivity extends AppCompatActivity {private ImageView mivTestImage;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mivTestImage=(ImageView) findViewById(R.id.ivTestImage);Glide.with(this).load("你的图片地址").diskCacheStrategy(DiskCacheStrategy.SOURCE).into(mivTestImage);}
}

运行程序就可以发现底色变成白色了,终于正常了。。。。

GitHub完整代码:https://github.com/cuiyongtao/TestGlide

Android开发使用Glide获取图片背景色淡绿色解决办法相关推荐

  1. Android开发八 “尚未注册网络”错误信息的解决办法

    打开Android模拟器时,出现无信号,拔打电话或发短信时,提示"尚未注册网络"错误信息的解决方案如下.场景一:你的电脑没有连接上互联网,同时也没有在局域网.   解决办法:右键点 ...

  2. android 获取图片bitmap对象,Android中Glide获取图片Path、Bitmap用法详解

    脚本之家在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path.Bitmap用法,以及实现的代码分析. 1. 获取Bitmap ...

  3. Android 开发 Activity里获取View的宽度和高度 转载

    Android 开发 Activity里获取View的宽度和高度 转载 原文地址:https://blog.csdn.net/chenbaige/article/details/77991594 前言 ...

  4. android通过BitmapFactory.decodeFile获取图片bitmap报内存溢出的解决办法

    android通过BitmapFactory.decodeFile获取图片bitmap报内存溢出的解决办法 原方法: public static Bitmap getSmallBitmap(Strin ...

  5. android 根据文件Uri获取图片url

    今天,简单讲讲android里如何通过文件的Uri获取文件的路径url. 昨天,我讲了如何调用手机的文件管理器获取文件资源,但是文件管理器返回的是文件的Uri,我们需要通过Uri获取文件的url才可以 ...

  6. android中获取版本号,Android 开发中如何获取版本号

    android 开发中如何获取版本号. 1.获取版本名,版本号: /** * 获取版本号 * * @return * @throws exception */ private int getversi ...

  7. Android通过网络URL获取图片并显示

    1.布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:to ...

  8. android百度地图覆盖物异步加载图片,Android 百度地图marker中图片不显示的解决方法(推荐)...

    目的: 根据提供的多个经纬度,显示所在地的marker样式,如下: 问题: 1.发现marker中在线加载的图片无法显示出来: 2.获取多个对象后,却只显示出了一个marker: 以下为官网实现方法: ...

  9. Android小米(miui)获取通话记录为null解决办法

    Android小米(miui)获取通话记录为null解决办法 在开发中发现,查询通话记录时使用 contentResolver.query( CallLog.Calls.CONTENT_URI, Co ...

最新文章

  1. 蓝桥杯九宫重排(bfs+用set去重)
  2. 云炬随笔20211126(2)
  3. 前端组件:layui
  4. VHDL设计出租车计价器
  5. uni-app实现上拉加载更多
  6. 2021-12-08 根据XPS 价带谱计算价带谱中心
  7. 二本华南师范计算机考研,经验贴|19华师软工专硕|初试415,二本逆袭211
  8. IE浏览器打开闪退,崩溃的场景重置
  9. 深度解读汽车域控制器
  10. 超级实用:Python 合成多张图片保存为PDF
  11. elasticsearch-analysis-ik中文分词插件安装及配置Ik自定义词典+拼音分词
  12. 永磁电机极对数一般是多少_对数是多少
  13. 从底层谈webgis原理设计与实现(九)WebGIS中的矢量查询(针对AGS和GeoServer)
  14. 蚂蚁金服研发的金融级分布式中间件SOFA背后的故事
  15. pythonrequests证书_python requests 设置 proxy 和 SSL 证书
  16. 【PAT乙级刷题】客似云来
  17. 【电机学习笔记】第一章 了解交流电机的结构以及工作原理
  18. 利用机器学习识别细碎图斑实战(2):技术路线
  19. java 实现百度贴吧“只看楼主”
  20. 橡皮筋类CRectTracker

热门文章

  1. TypeScript简明教程
  2. 张一鸣:年轻人一定要懂得延迟满足
  3. 多益网络社招iq_18年多益秋招iq测试题
  4. html怎样实现动态背景效果,利用jQuery实现动态背景特效
  5. 自定义Tab切换+自定义CheckBox+light7无限滑动/下拉刷新
  6. 实时获取股票数据,免费!——Python爬虫Sina Stock实战
  7. 图片拉伸和保持长宽比的问题
  8. react 中 使用 Monaco Editor 编辑器
  9. 电脑锁屏蓝牙鼠标断开_如何阻止蓝牙鼠标不断断开
  10. MacBook雷电3接口失灵不可用