Android使用Glide类加载服务器中的图片

Glide类用于从服务器中获取图片并加载进ImageView。

一、添加依赖

Glide为第三方框架,使用时需添加依赖:

Gradle Scripts / build.gradle(Module:app) / dependencies方法中添加

html 复制代码
implementation 'com.github.bumptech.glide:glide:4.12.0'

添加后会下载。

二、获取权限

获取服务器中的图片需要申请(静态声明)网络权限,在清单文件中添加

html 复制代码
<uses-permission android:name="android.permission.INTERNET"/>

三、使用方法

java 复制代码
Glide.with( mContext )  //环境
        .placeholder( R.drawable. ~ )  //加载前显示显示的图片
        .load( R.drawable. ~ )  //String形式的图片URL地址
        .error( R.drawable. ~ )  //加载失败显示的图片
        .diskCacheStrategy( DiskCacheStrategy. ~ )  //缓存策略
        .into( imageView );  //加载至的ImageView

四、缓存策略

缓存策略即 .diskCacheStrategy()方法的参数

(1) DiskCacheStrategy.ALL:默认缓存策略,保存所有资源进磁盘 ,当再次加载时不从网络加载,直接调用保存的资源,但会占用大量内存

(2) DiskCacheStrategy.NONE:不保存任何资源,适用于不需要缓存的情况

(3) DiskCacheStrategy.DATA:这会缓存原始图片数据,但不会缓存经过转换的图片格式(例如,不会缓存压缩过的图片);这适用于需要访问原始数据的情况 ,但不需要重复加载和转换

(4) DiskCacheStrategy.RESOURCE :这会缓存经过转换的图片格式,但不会缓存原始数据。这适用于不需要再次进行转换的情况以提高性能

(5) DiskCacheStrategy.AUTOMATIC :这是一个智能缓存策略 ,它会根据图片的原始数据类型和转换来决定是否缓存。通常情况下,它会缓存转换后的图片,并在需要时重新加载原始数据,适用于大多数情况

相关推荐
YM52e2 小时前
鸿蒙Flutter Padding内边距:EdgeInsets详解
android·学习·flutter·华为·harmonyos·鸿蒙
前端工作日常6 小时前
我学习到的Java中domain和dto区别
java·后端
码农学院6 小时前
基于Spring Boot的跨境电商多语言订单管理系统架构设计
java·大数据·spring boot
Rex叶然6 小时前
ScreenMatch适配安卓屏幕脚本,用于老项目
android·screenmatch·安卓屏幕适配
阿pin6 小时前
Android随笔-Activity启动流程深度分析
android·activity启动流程
技术小结-李爽7 小时前
【工具】pom文件的<packaging>
java·maven
l156469487 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
zzq77977 小时前
加固包闪退四象限定位:targetSdk 与保护策略实战解析
android·安全·安卓·安全架构
布吉岛的石头8 小时前
Java 程序员第 45 阶段11:网关统一路由大模型接口,配合 Nacos 配置治理,灰度路由:基于Nacos元数据实现大模型服务灰度发布与权重路由
java·服务发现
我命由我123459 小时前
Android 开发问题:Cannot resolve method ‘repeat‘ in ‘String‘
android·java·java-ee·android studio·android jetpack·android-studio·android runtime