Google推荐图片加载库Glide使用总结

Google推荐的图片加载库Glide介绍 原文链接:Google推荐的图片加载库Glide介绍作者 : nuuneoi译者 : jianghejie校对者 : chaossss状态 : 完成 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。 毫无疑问,这个库引起了 阅读详情

 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫Glide的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app,以及Yelp app;

英文原文Introduction to Glide, Image Loader Library for Android, recommended by Google

github地址https://github.com/bumptech/glide

该库用法上和 Picasso 有很多相似的地方,目前能下载的版本是3.6.1,下面是这几天的学习,已经在公司的项目上替换,简单介绍下:

<code>添加依赖:</code>

dependencies {

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

compile'com.android.support:support-v4:22.0.0'

}

Eclipse 开发的话可以直接下载Jar包

基本用法:

Glide.with(context).load(imageUrl).into(imageView); 

非常简单的流式代码,还有很多方法, 像

crossFade()默认动画,fitCenter(),placeholder()占位图,error()错误图,空图等可以自己试试;

这里的Glide.with() 不仅可以传 Context ,还可以传Activity 和 Fragment,因为图片加载会和Activity/Fragment的生命周期保持一致,比如Paused状态在暂停加载,在Resumed的时候又自动重新加载。

Glide 默认的图片格式是RGB_565,显示方面要差点,看的并不明显,当然可以自己修改为ARGB_8888,方法:


public class OkHttpGlideModule implements GlideModule {

public OkHttpGlideModule() {

}

public void applyOptions(Context context,GlideBuilder builder) {

builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);

}

public void registerComponents(Context context,Glide glide) {

glide.register(GlideUrl.class,InputStream.class, newFactory());

}

}


同时在AndroidManifest.xml中将GlideModule定义为meta-data

android:name="com.bumptech.glide.integration.okhttp.OkHttpGlideModule"

android:value="GlideModule"/>

如果想用Okhttp做协议栈可以直接添加 glide-okhttp-integration-1.3.1.jar ,并且在Application 或Activity 的onCreate 方法注册就可以使用okhttp做为协议栈,Volley也是同理;

Glide.get(this).register(GlideUrl.class,InputStream.class,newOkHttpUrlLoader.Factory(newOkHttpClient()));

所以,要想使用ARGB_8888模式,又想Okhttp做协议栈,就不能用glide-okhttp-integration-1.3.1.jar,直接抽取里面的OkHttpGlideModule类然后,添加builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);

用起来很简单,说下注意点吧:

1.placeholder() 占位图或者失败图都可以直接使用R.color.white 颜色来做;

2.如果加载不出来图片的话可以试试设置下图片的宽高;

3.图片的加载并不是全缓存,而是使用的imageview的大小来的,如果想要全缓存的就可以这样:

.diskCacheStrategy(DiskCacheStrategy.ALL)

4.图片加载背景会变成绿色,加载jpg图片会出现的BUG,github上给出解决方案

Glide.with(this).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(imageView); 或者

Glide.with(this).fromResource().asBitmap().encoder(newBitmapEncoder(Bitmap.CompressFormat.PNG,100)).load(R.drawable.testimg).into(imageView);

5.圆形图片我用的是V4包自带的处理方式:

Glide.with(context).load(imageUrl).asBitmap().fitCenter().diskCacheStrategy(DiskCacheStrategy.SOURCE)

.placeholder(R.drawable.shape_glide_round_place).error(R.drawable.no_face_circle)

.into(newBitmapImageViewTarget(imageView) {

@Override

protected voidsetResource(Bitmap resource) {

RoundedBitmapDrawable circularBitmapDrawable =

RoundedBitmapDrawableFactory.create(context.getResources(),resource);

circularBitmapDrawable.setCircular(true);

imageView.setImageDrawable(circularBitmapDrawable);

}

});

6.本地图的加载可以

Glide.with(context).load(newFile(filePath)) 也可以直接load("/mnt/本地图片");

7.默认的动画可以取消掉,加上dontAnimate()

8.清除缓存:

Glide.get(this).clearMemory();

Glide.get(this).clearDiskCache(); 需要在子线程执行

9.加载暂时不支持显示进度,可以用占位图来显示,把占位图替换成帧动画, 如果一定要显示数字进度,可以配合Okhttp协议栈来处理,

参考该例子:https://github.com/futurobot/Glide-Download-Progress-Interceptor

最后放张效果图,该图片转自www.open-open.com/lib/view/open1438154211785.html

```里面介绍几个方法可以使图片加载更快,包括预加载方式,ListPreloader类的使用;```





原文链接:http://www.jianshu.com/p/914699e49050
ESP32-CAM图传小车:端边协同的嵌入式视觉系统设计 在物联网边缘智能场景中,嵌入式视觉系统需平衡实时性、算力与成本。其核心在于理解图像采集、硬件编码、低延迟传输与分层计算的基本原理——OV2640等CMOS传感器配合JPEG硬件编码可显著降低主控负载;TCP流式协议比HTTP/RTSP更适配资源受限MCU;而‘计算卸载’架构将OpenCV等重负载移至Android端,使ESP32专注实时控制与传输,既发挥FreeRTOS任务调度优势,又规避了PSRAM带宽与内存瓶颈。该模式广泛适用于教育机器人、智能巡检及DIY视觉终端等场景,本文以WiFi图传坦克小车为载体 阅读详情

相关推荐

Verilog十大基本功2(testbench的设计 文件读取和写入操作 源代码)

需求说明:Verilog设计基础 内容       :testbench的设计 读取文件 写入文件 来自       :时间的诗 十大基本功之 testbench 1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应。 端口分为 input,output 和 inout 类型产生激励信号的时候, input  对

时间的诗 5万+

Glide 加载圆角、圆形图片

谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。 我们直接实战(不扯淡): 1、引入库: compile 'com.github.bumptech.glide:glide:3.6.1' 2、演示代码: public class MainActivity

子陌●清扬 2万+

DeepSeek高阶应用:DeepSeek+Coze构建智能文献综述与趋势分析自动化系统

本文详细介绍了如何利用DeepSeek与Coze构建智能文献综述与趋势分析自动化系统。通过DeepSeek的深度语义理解和结构化信息提取能力,结合Coze的可视化工作流编排,实现学术论文的自动解析、分类整理与知识入库。该系统能7x24小时自动追踪领域前沿,将研究人员从繁琐的文献处理中解放出来,专注于更高层次的思考与创新。

weixin_29050271的博客 179

实现圆形图片、圆形背景

简单记录在Android开发中实现圆形图片/圆角图片/圆角矩形形状的方法

m0_60949336的博客 1641

如何浏览与下载全球免费的地图高分辨率(亚米级)的遥感影像?

前言 如果你想使用商业卫星的高分辨遥感影像,一般价格昂贵。我们可以使用地图平台上免费的高分辨率数据。目前数据源很多,比如说google earth、天地图、四维地球、必应地图等等。这些影像统一有一个共同点就是:RGB三波段;Web地图瓦片服务。这意味着我们可以通过瓦片服务下载影像,但下载的影像只有三个波段,分别是 一.引言 二、可使用高分辨率的地图数据源 1.Google Earth影像 2.Esri World Image 3.天地图 4.必...

锐多宝的地理空间 2万+

手把手教你用差分放大电路搭建LC振荡器(实测频率误差分析)

本文通过一个差分放大电路搭建LC振荡器的实践案例,深入分析了实测频率与理论值产生显著误差的原因。核心在于共模电感的互感效应改变了谐振回路的等效电感,导致频率偏差。文章提供了从电路搭建、误差根源剖析到波形优化与稳定性提升的完整解决方案,帮助电子爱好者深入理解模拟电路的实际行为。

svm4gardener的博客 541

Android Glide实现圆形图片

第一步:导入依赖     implementation 'com.github.bumptech.glide:glide:4.6.1'        //Glide     解析图片,设置圆形   第二步:编写Glide的代码实现圆形图片 Glide.with(context).load(list.get(position).getImgsrc()) .a...

千焱万语的博客 997

Python爬虫实战:2026最新版淘宝商品详情页数据抓取与价格监控

在2026年的今天,电商数据已经成为商业决策、市场分析和价格策略制定的核心资产。淘宝作为中国最大的电商平台之一,其商品详情页包含了海量有价值的信息:商品标题、价格、销量、评价数、店铺信息、SKU属性等。对于从事电商运营、竞品分析、价格监控的从业者来说,能够高效、稳定地获取这些数据至关重要。然而,淘宝平台的反爬虫策略在2026年已经演进到了相当成熟的阶段。

2201_76125261的博客 890

Glide3.6.1源码解析

本文以自己理解从glide入口开始分析,主要是记录下整个学习流程,以后忘记再回顾看看。首先从基本用法开始,with方法通过传入一个context在这里声明了一个RequestManagerRetriever方法,并new了一个handler再回到RequestManager的get方法,首先判断context是否为null,判断完是否在主线程且context不是application再这里可以看到...

u013285894的博客 506

本地部署大模型:dgx-spark-ai项目硬件选型、部署与私有化AI构建指南

大语言模型(LLM)的本地部署是当前AI工程实践中的重要方向,其核心原理在于将模型权重与计算过程完全置于用户可控的硬件环境中。这项技术的核心价值在于实现了数据主权与隐私安全,避免了云端服务的延迟、持续订阅成本及数据外泄风险。从技术实现看,本地部署的关键在于硬件选型与软件环境适配,尤其是NVIDIA GPU的CUDA生态、显存容量与内存带宽的匹配。在应用场景上,本地化部署特别适合对数据敏感性要求高的领域,如企业内部代码助手、金融分析或医疗研究,能够支持私有化模型微调与定制化工作流构建。本文以dgx-spark

weixin_42531579的博客 503

RV1126笔记二十七:MetaRTC6移植

MetaRTC6移植

6038

Glide插件的使用

1、添加依赖 compile 'com.github.bumptech.glide:glide:3.6.1' 2、使用(网络图片+本地图片)  圆角效果不显示、以及刷新后图片变形问题,已在下方代码中有所解释: public class GlideUtils { public static final int FIT_CENTER=0;//默认 public static...

qq_37077360的博客 793

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Google推荐的图片加载库Glide

英文原文Introduction to Glide, Image Loader Library for Android, recommended by Google 首发地址http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫Glide...

dehuai19940321的博客 135

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Google推荐的图片加载库Glide介绍(与Picasso比较),金三银四我带你去BAT面试现场

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的点击这里>Android IOC架构设计免费获取。

m0_60606468的博客 878

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: HTML5日期输入类型(date)
下一篇: Android 实现ListView的A-Z字母排序和过滤搜索功能
王晓恩
博客等级 码龄11年 28粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值