Android Glide自定义AppGlideModule,让Glide在app启动后基于定制化GlideModule加载,kotlin

news2024/11/18 8:44:56

Android Glide自定义AppGlideModule,让Glide在app启动后基于定制化GlideModule加载,kotlin

 

project的build.gradle:

buildscript {
    repositories {
        maven {
            url = uri("https://plugins.gradle.org/m2/")
        }
    }
    dependencies {
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0")
    }
}


plugins {
    id 'org.jetbrains.kotlin.kapt' version '1.9.0' apply false
}

 

 

app的build.gradle:

plugins {
    id 'kotlin-kapt'
}



dependencies {
    implementation 'com.github.bumptech.glide:glide:4.15.1'
    kapt 'com.github.bumptech.glide:compiler:4.14.2'
}

 

 

 

注解定义GlideModule

import android.content.Context
import android.util.Log
import com.bumptech.glide.GlideBuilder
import com.bumptech.glide.annotation.GlideModule
import com.bumptech.glide.load.engine.cache.LruResourceCache
import com.bumptech.glide.module.AppGlideModule

@GlideModule
class MyModule : AppGlideModule() {
    companion object {
        val mLruResourceCache = LruResourceCache(1024 * 1024 * 9999)
    }

    override fun applyOptions(context: Context, builder: GlideBuilder) {
        super.applyOptions(context, builder)

        /**
        根据屏幕大小自动获取合适的缓存大小
        MemorySizeCalculator calculator=new MemorySizeCalculator.Builder(context)
        //默认值是2
        .setMemoryCacheScreens(2)
        .build();
        //使用Lru缓存策略
        builder.setMemoryCache(new LruResourceCache(calculator.getMemoryCacheSize()))
         */

        builder.setMemoryCache(mLruResourceCache)
    }

    override fun isManifestParsingEnabled(): Boolean {
        return false
    }
}

 

重新build项目。此后在项目代码中使用:GlideApp.  替代  Glide.  加载load图即可,自定义module就会触发使用。

 

 

 

 

 

Android图片加载与缓存开源框架:Android Glide_glide第三方框架_zhangphil的博客-CSDN博客《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。和Android的Picasso库类似,个人感觉比Android Picasso好用。Android Glide使自身内部已经实现了缓存策略,使得开发者摆脱Android图片加载的琐碎事务,专注逻辑业务的代码。Android Glide使用便利,短短几行_glide第三方框架https://blog.csdn.net/zhangphil/article/details/45535693

Android标准Glide加载圆形图和圆角矩形图_android glide加载圆角_zhangphil的博客-CSDN博客引入: implementation 'com.github.bumptech.glide:glide:4.9.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'https://blog.csdn.net/zhangphil/article/details/89336265

Android Glide加载四周圆角图_zhangphil的博客-CSDN博客Android Glide加载四周圆角图需要引入:implementation 'jp.wasabeef:glide-transformations:3.3.0'上层Java代码:package zhangphil.test;import android.os.Bundle;import android.support.annotation.Nullable;import android....https://blog.csdn.net/zhangphil/article/details/80826259Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果_android 毛玻璃圆角_zhangphil的博客-CSDN博客Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果附录1简单介绍了Android开源的图片加载框架。在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角https://blog.csdn.net/zhangphil/article/details/52806374Android新版Glide的RequestManager加载管理器_glide requestmanager#downloadonly()_zhangphil的博客-CSDN博客Android新版Glide的RequestManager加载管理器使用Glide加载图片,load完后,通过into就可以把图片放到ImageView里面。但是有时候可能只是想加载一张原始的图片资源File,至于如何放到,什么时候放,开发者想自己控制,那么可以使用Glide提供的RequestManager中onResourceReady,RequestManager的onResourceRea..._glide requestmanager#downloadonly()https://blog.csdn.net/zhangphil/article/details/80855774

基于开源框架Glide加载Gif资源图到Android ImageView中_zhangphil的博客-CSDN博客《基于第三方开源框架Android Glide加载Gif资源图片到Android ImageView中》通常Android的ImageView不能加载Gif图片,如不做任何处理,那么加载到ImageView中的Gif只显示第一帧。网上给出很多解决方案,也有不少开源框架定制专属的Gif View用于加载Gif图,这些解决方案基本上大多数是借助Android的Movie,把Gif图片资源作为流,解https://blog.csdn.net/zhangphil/article/details/45561983

Android最新Glide 4.0使用简介_zhangphil的博客-CSDN博客Android最新Glide 4.0使用简介Glide自v3.0到v4.0使用,发生了一些比较大的改变,使用方式和编程模型有了新的变化,这些变化,使得Glide的功能更加强大,性能更加优良,提供了开放的编程接口,便于开发者自定制,以适应自有项目的定制化开发。本例给出一些最新Android Glide 4.0的新变化、新模型的简单使用方式。写一个简单垂直线性布局:https://blog.csdn.net/zhangphil/article/details/77528617最新Android Glide4.0加载Gif图片到ImageView_zhangphil的博客-CSDN博客最新Android Glide4.0加载Gif图片到ImageView在我过去的文章里面,介绍了旧的Glide 3.0+的加载Gif图片方式(见文章:http://blog.csdn.net/zhangphil/article/details/45561983 ),现在Glide 4.0相较于Glide 3.0+发生了很大变化,现在给出一个新版Glide 4.0加载Gif图片的代码例子。packahttps://blog.csdn.net/zhangphil/article/details/77561981

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/730018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Maven高级(二)--继承与版本锁定

一.继承 1.目的:不同模块中经常需要用到同一个依赖,这样要在每个pom.xml中都引入对应的坐标,继承可以用来解决依赖引入重复的问题。 2.实现:我们可以在创建一个父工程,然后将多个模块来继承这个父工程。然后再将各个模…

功能需求-前端在合同页面显示图片印章

需求描述 需要在项目中的合同页面的指定位置显示一个配置好的图片印章&#xff0c;实现好的效果&#xff0c;如下&#xff1a; 实现方案 使用使用CSS的绝对定位position来实现&#xff0c;代码如下&#xff1a; <div id"FatherBuyer"><img :src"s…

SpringAOP切面是否可以改变被代理方法的返回类型?

SpringAOP切面能不能改变被代理方法的返回类型&#xff1f; 注意&#xff0c;这里的AOP使用的aspectjweaver <!--AOP核心依赖aspectjweaver--><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId></de…

【C++】 Qt-线程进程

文章目录 进程&#xff08;process&#xff09;线程&#xff08;Thread&#xff09;创建线程 进程&#xff08;process&#xff09; 在任务管理器中能看到进程Tab页下&#xff0c;将所有进程分为三类&#xff1a; 应用&#xff1a;打开的正在运行的软件。后台进程&#xff1a…

STM32寄存器点亮LED灯

一&#xff1a; 如何寄存器点灯 1&#xff1a;看单片机的原理图 找到LED灯 这个灯是 PB5引脚 看原理图可以看出 让GPIOB5输出低电平 就能点亮那么我们得让打开控制GPIOB5的时钟让GPIOB5 输出模式让GPIOB5低电平 二&#xff1a;看中文参考手册配置寄存器 2.1&#xff1a;打开管…

python与深度学习——基础环境搭建

一、安装jupyter notebook Jupyter Notebook是一个开源的交互式笔记本环境&#xff0c;可以用于编写和执行代码、创建可视化效果、展示数据分析结果等。我们在这里用它实现代码运行和观察运行结果。安装jupyter notebook实质上是安装Anaconda,后续还要在Anaconda Prompt中使用c…

AI视频智慧安监平台EasyCVR每次重启服务短时间播放后又无法播放,是什么原因?

EasyCVR视频融合平台基于云边端智能协同架构&#xff0c;具有强大的设备接入、视频汇聚管理、全网分发、按需调阅、鉴权播放、智能分析等视频能力与服务。平台开放度高、兼容性强、可支持灵活拓展与第三方集成。 有用户反馈&#xff0c;EasyCVR每次重启服务后&#xff0c;可以短…

操作系统11:虚拟存储器

目录 1、虚拟存储器概述 &#xff08;1&#xff09;常规存储管理方式的特征和局部性原理 1.1 - 常规存储器管理方式的特征 1.2 - 局部性原理 1.3 - 虚拟存储器的基本工作情况 &#xff08;2&#xff09;虚拟存储器的定义和特征 2.1 - 虚拟存储器的定义 2.2 - 虚拟存储器…

【缓存中间件】Redis哈希槽的概念

数据分布理论 分布式数据库首先要解决把整个数据集按照分区规则映射到多个节点的问题&#xff0c;即把数据集划分到多个节点上&#xff0c;每个节点负责整体数据的一个子集。。 需要重点关注的是数据分区规则。常见的分区规则有哈希分区和顺序分区两种&#xff0c;哈希分区离散…

项目集成支付宝报错:调试错误,请回到请求来源地,重新发起请求。 错误代码invalid-app-id错误原因:无效的ApplD参数

问题 项目集成支付宝报错&#xff1a;调试错误&#xff0c;请回到请求来源地&#xff0c;重新发起请求。 错误代码invalid-app-id错误原因:无效的ApplD参数 详细问题 笔者按照支付宝沙箱支付快速集成版进行操作&#xff0c;操作完成访问所集成的支付宝&#xff0c;页面如下 …

微信小程序做登录密码显示隐藏效果

wxml 注意&#xff1a;在html中的input是通过切换type的属性值来实现隐藏显示的 在微信小程序的input里面type没有password属性 是通过password属性的true或者false来设置是否为密码框 <view class"input-item"><text class"tit">密码</…

怎么学习PHP表单处理与验证? - 易智编译EaseEditing

要学习PHP表单处理与验证&#xff0c;可以按照以下步骤进行&#xff1a; 掌握PHP基础知识&#xff1a; 在学习PHP表单处理与验证之前&#xff0c;首先需要对PHP编程语言有基本的了解。学习PHP的语法、变量、数据类型、数组、函数等基础知识是必要的。 学习HTML表单&#xff1…

如何确定活动隔断整体色调

确定活动的整体色调可以通过以下几个步骤&#xff1a; 1. 确定主题或目标&#xff1a;首先要明确活动的主题或目标&#xff0c;这将有助于确定活动需要传达的情感或氛围。 2. 考虑活动类型&#xff1a;根据活动的类型&#xff0c;例如婚礼、生日派对、企业活动等&#xff0c;可…

【代码随想录day4】两两交换链表中的节点

题目 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4] 输出&#xff1a;[2,1,4,3] 示例 2&#xff1a; …

高级搜索算法学习笔记

0.前言 如有错误&#xff0c;欢迎各位大佬指出。 前置芝士&#xff1a; 深度优先搜索 广度优先搜索 1.何为高级搜索&#xff1f; 在通常情况下&#xff0c;普通的深搜往往会超时&#xff0c;即使剪枝也无动于衷。对于广搜&#xff0c;我们一旦超时也很难进行优化。 而这…

jenkins+jmeter参数化并发数和循环次数

最近在整合项目的常规性能测试方案&#xff0c;从Metersphere切换回jenkinsjmeter&#xff0c;命令行执行jmeter命令时考虑参数化循环数和并发数&#xff0c;于是总结了一下两种方法&#xff1a; 1、配置文件传参 把并发数和循环次数作为两个参数&#xff0c;通过使用配置元件…

spring-注解开发bean

注解开发bean 使用Component定义bean 在配置文件中通过组建扫描加载bean 3.也可以通过不要配置文件&#xff0c;定义类&#xff0c;使用Configuration&#xff0c;来代替配置文件 基于注解定义bean 1.component,大部分的bean都可以通过这个来定义 1.1Controller&#xf…

JavaScript 将对象数组按字母顺序排序

原文链接&#xff1a;JavaScript 将对象数组按字母顺序排序 这里给出三种解决方案&#xff1a; 1.if条件语句 sort() 2.localeCompare() sort() 3.Collator() sort() sort 用法 语法 array.sort(compareFunction)参数值 参数描述compareFunction可选。定义替代排序顺序…

01-vue的核心和传统开发的区别

前端行业历史发展 &#x1f355;&#x1f355;&#x1f355;最早的网页是没有数据库的&#xff0c;可以理解为在网络上一张 报纸&#xff0c;直到CGI技术的出现&#xff0c;运行一小段代码与数据库或文件 系统进行交互&#xff0c;如98年的 Google Asp,JSP的出现&#xff0…

vscode编写stm32代码

vscode编辑keil项目&#xff0c;无需复杂步骤 keil开发是挺难用的&#xff0c;vscode又是编辑神器&#xff0c;keil调试vscode编辑代码可以大幅度提高效率&#xff0c;因此可以借用vscode来编辑代码。 1安装c插件 安装c与extension pack插件 2配置c_cpp_properties.json文…