谷歌推荐的图片加载库Glide(谷歌亲儿子..)有图有真相

2023-11-06 05:40

本文主要是介绍谷歌推荐的图片加载库Glide(谷歌亲儿子..)有图有真相,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目链接:链接:http://pan.baidu.com/s/1jI6mLdc 密码:9i2f

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

它的成功让我非常感兴趣。我花了一整晚的时间把玩,决定分享一些自己的经验。在开始之前我想说,Glide和Picasso有90%的相似度,准确的说,就是Picasso的克隆版本。但是在细节上还是有不少区别的。

这个库总之来说效率很恐怖(可以设置图片缓存的,很效率!),搞了3天的异步线程,宝宝反正是被难住了,花了两天做出来图片异步加载..(今晚逛论坛,发现了Glide这个图片框架,20行左右就解决了那个需要300行的代码)

1.使用Glide结合列表的样式进行图片加载:
 (1)如果使用的是ListView,可以直接在Adapter的getView方法中使用:              
public View getView(int position, View convertView, ViewGroup parent) {
if (null == convertView) {
// .....
}
Glide.with(context).load(imageUrls[position]).into(holder.imageView);
return convertView;
      }

(2)如果使用的是RecyclerView,可以在Adapter的onBindViewHolder方法中使用:
    public void onBindViewHolder(RVViewHolder holder, int position) {
        
        Glide.with(MainActivity.this)
                .load(args[position])
                .into(holder.imageView);
    }
2.当图片没能及时显示的话,你可以让他先显示自己定义的图片的话可以使用placeHolder()方法:
Glide.with(context).load(UsageExampleListViewAdapter.eatFoodyImages[0])
.placeholder(R.mipmap.ic_launcher) // clever boy...
.into(imageViewPlaceholder);
3. 图片的缩放,centerCrop()和fitCenter():
// 使用centerCrop是利用图片图填充ImageView设置的大小,如果ImageView的 Height是match_parent则图片就会被拉伸填充
Glide.with(MainActivity.this).load(args[position]).centerCrop()
.into(holder.imageView);
4. 显示gif动画:
Glide.with(context).load(gifUrl).asGif() // 判断加载的url资源是否为gif格式的资源
.error(R.drawable.full_cake).into(imageViewGif);
5.Glide对于本地视频的解码
通过调用Glide.with(context).load(“图片路径“)方法,Glide能够支持Android设备中的所有视频文件的加载和展示
图片太好看了,哼,就不全发了哎......



这篇关于谷歌推荐的图片加载库Glide(谷歌亲儿子..)有图有真相的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/354771

相关文章

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空