首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Glide4.0源码全解析(一),GlideAPP和.with()方法背后故事

前言 在上一篇文章我们体验了Glide-4.0强大,以及更加简便API,很多童鞋已经开始迁移了,那么接下来我们一起探索一下他神奇之处: 首先我们来看一下4.0基本用法: GlideApp.with...所以为了解开大家好奇,一起来解析一下Glide-4.0源码。...GlideApp这个类事通过上面的注解获得到,是不容许被修改,是Glide在应用入口,做一些初始化,获取图片存储路径之类,非常简单,注释也非常清楚,就不详细叙述了。...return (GlideRequests) Glide.with(view); } 从上面的代码可以看到我们使用GlideApp.with()其实还是在使用Glide.with()方法。...with()方法Glide一组静态方法,有好几个重载方法,如下所示: public static RequestManager with(Context context) { return

1.2K20

kotlin项目加入Glide图片加载库并使用GlideApp方法

现在,Glide版本也进行了几个大升级,目前,最新版本是4.8.0,提供了很多特性,GlideAPP就是其中一个,唯一不足就是,还没有引入对AndroidX支持,不过听说是在5.0之后开始对...,而在kotlin推荐使用kapt引入注解框架,这在官方文档也有相应说明 implementation ‘com.github.bumptech.glide:glide:4.8.0’ kapt...‘com.github.bumptech.glide:compiler:4.8.0’ 2.加入配置类,需要注意是,这个类需要在包名下,不能再放在任何一个二级包名下,这样会导致你项目中无法找到这个类...,从而无法生成相应GlideAPP @GlideModule class GlobalGlideConfig : AppGlideModule() { } 3.Rebuild project,上面两部完成之后...生成类 4.然后你就可以在项目中使用GlideAPP代替原来Glide加载图片了 ?

1.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

Glide 4.0.0 RC0 使用详解

into() 在Glide v4,只有一个RequestBuilder,它使用单一类型加载到你项目(类型Bitmap,Drawable,GifDrawable等)。...如果注释不存在,则不会发现该模块,并且您将在日志中看到一条带有Glide日志标记警告,该日志标记指示该模块无法找到。...应用程序可以通过启动所有,加载GlideApp.with()而不是使用API Glide.with(): GlideApp.with(fragment) .placeholder(R.drawable.placeholder...这时候已经可以去使用GlideApp.with(this),接下来就会让我们回到熟悉感觉: GlideApp.with(this) .load(ImageConfig.URL_WEBP...,有个更深入理解: Glide4.0源码全解析(一),GlideAPP和.with()方法背后故事 Glide4.0源码全解析(二),load()背后故事 Glide4.0源码全解析(三),into

1K40

ExpandableListView详细使用教程(附代码解析过程)

ExpandableListView 一、实现效果 二、实现步骤 1.编写父布局parent.xml 2.编写子布局child.xml 3.编写适配器类GradeAdapter 三、解析适配器类 一...二、实现步骤 使用ExpandableListView主要有三个步骤: 编写父布局 编写子布局 适配器书写 1.编写父布局parent.xml   父布局其实很简单,就是两个并排TextView,用于展示课程名字和分数...都要继承BaseExpandableListAdapter这个类,并且必须重载getGroupView和getChildView这两个最为重要方法。...public void setTeacher(String teacher) { this.teacher = teacher; } } 里面包含设置和获取每种信息方法...,我们在getGroupView初始化这些变量,这些变量数据都保存在list里面,都在我们初始化GradeAdapter时传进来。

95620

Android 基于 glide 4.0 封装图片加载库

举个例子: GlideApp.with(context).load(imageUrl).into(imageView); 很多时候只要简单调用一行代码实现图片高性能加载(对于 glide...这个框架不熟悉同学,可以看一下我这篇文章 glide 一个强大图片加载框架 ),使用起来是不是特别的简单?...我们要使用一个框架,必然是因为它有着一些非常好特性,所以我们在封装时候就必须尽量保留它这些特性,不然我们封装就没有意义了,glide 比较好特性主要有这几点 有着非常简洁 API 处理图片时能保持一个低内存消耗...三、封装通用 CommonImageLoader 上一节我们谈到了,封装 glide 最大难点,那我们现在就试着解决这个问题。...为了统一方法调用,我们直接将 GlideApp.with(context) 全部改成 GlideRequests,这样的话,我们要进行图片加载时只要在 Activity 或 Fragmet onCreate

1.1K20

Glide4 高效加载图片配置详解

本文介绍了Glide4 高效加载图片配置详解,分享给大家,具体如下: 在build.gradle添加glide依赖 // glide 依赖 compile 'com.github.bumptech.glide...:glide:4.6.1' // glide 相关注解,生成GlideApp代码 annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1...* * Glide全局配置,使用GlideModule注解执行自动代码生成,生成GlideApp,后续Glide * 调用都需要替换为GlideApp.with(context).load(url...* DiskCacheStrategy.AUTOMATIC: 表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。...DiskCacheStrategy.AUTOMATIC 表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。 以上就是本文全部内容,希望对大家学习有所帮助。

94210

— 1.Glide初始化

Glide ---- Glide4源码解析系列 [Glide4源码解析系列]--1.Glide初始化 [Glide4源码解析系列]--2.Glide数据模型转换与数据抓取 [Glide4源码解析系列...Glide重载了多个with方法,分别用于不同情境下使用,我们看其中最常用在Activity调用方法,即 首先,跟进getRetriever(activity) 这里首先检查了context是否为空...而Glide3.x配置方式已经建议放弃使用。...三、 GlideGlideApp 如果在项目中已经使用Glide3.x,并且想要升级到Glide4.x,那么你会发现,原来使用链式调用进行参数配置方法已经被修改了,同一个封装到了RequesOptions...只要在项目中定义这么一个配置,那么Glide将会自动帮我们生成一个GlideApp模块,封装了Glide3.x调用方式。

89440

Glide4.0源码全解析(二),load()背后故事

书接上文,上回书说到GlideAPP和.with()方法背后故事,那么我们接着按照我们开始思路,按照Glide基本加载步骤三步走,with(),load(),into(),今天 我们来介绍一下...load()方法全面解析 通过上一篇文章Glide4.0源码全解析(一),GlideAPP和.with()方法背后故事 我们可以知道.with()方法返回是GlideRequests对象, /*...通过实例化一个新对象,或者利用在Fragment和Activity生命周期处理构建 *优势,可以在Fragment或者Activity使用静态Glide.load方法 */ public class...传入model在哪里使用? 为什么必须至少调用一次load()方法? 其实不用看代码,想象都明白,你不传入资源文件,Glide为我们加载什么东西? ?...如上图,源码注释也说道了,不过就算你不调用load()方法也不会出问题,因为isModelSet参数就是用来判断是否调用了load()方法Glide已经帮我们处理好了。

45230

项目中如何快速将Glide3替换成Glide4

Glide4基本用法: 引入Glide compiler:包含各种注解使用Glide3快速替换成Glide4时要用到。...(url) .apply(options) .into(mImage); 这里就是Glide4和Glide3最大不同,他将部分API功能封装在RequestOptions ,在通过apply方法,传递给...random&22") .into(mImage); submit()方法:类似Glide3downloadOnly newThread(newRunnable() { @Override public...请看: //使用Generated API(类似Glide3用法) //使用GlideApp,首先确保你代码中有一个自定义模块, // 并且给它加上了@GlideModule注解,也就是自定义模块....override(Target.SIZE_ORIGINAL) .circleCrop()//切圆 .into(mImage); 把之前Glide替换成GlideApp,就可以使用Glide3方式进行使用

1.2K60

懵了,面试官突然问我:Glide是干啥?我对着那Glide新版本就是一顿暴讲

首先我们拿一个简单使用进行跟进 Glide.with(context).load("").into(mImageView) 链式调用,我们分解为以下三个方法进行分析。...现在对with()方法流程以及生命周期控制管理是不是稍稍有那么一些印象了。无法复述没有关系。先能顺下来,当你第二遍看到时候就会事半功倍了。 写了这么一堆,我们回顾下这个with()干了啥? 1....在这些方法调用 ActivityFragmentLifecycle 对应方法,然后 循环 找到 ActivityFragmentLifecycle与之对应RequestManager对象,再调用...load()方法第一步,首先分析了load()asDrawable()方法以及一系列连带方法。...= null) { // 在此方法克隆,以便如果使用此RequestBuilder加载到视图中,然后加载到其他目标, //则不会保留基于上一个视图缩放类型应用转换。

2.8K20

Android图片加载框架最全解析(八),带你全面了解Glide 4用法

而且也不断有朋友一直在留言,想让我讲一讲Glide 4用法,因为Glide 4相对于Glide 3改动貌似还是挺大,学完了Glide 3再去使用Glide 4,发现根本就无法使用。...之所以大家会有这种错觉,是因为你将Glide 3用法直接搬到Glide 4使用,结果IDE全面报错,然后大家可能就觉得Glide 4用法完全变掉了。..." /> 就是这么简单,然后我们就可以自由地使用Glide任意功能了。...在onResourceReady()方法,我们就可以获取到Glide加载出来图片对象了,也就是方法参数传过来Drawable对象。...Generated API对于熟悉Glide 3朋友来说那是再简单不过了,基本上就是和Glide 3一模一样用法,只不过需要把Glide关键字替换成GlideApp关键字,如下所示: GlideApp.with

2.5K70

系统签名方法2则

最近一个项目,本来是使用板4.2;但由于生产需求将原来单板集成到整体(显示触屏+)。由于其提供样板是6.0。整个程序主功能运行还可以,就是无法写日志和播放本地视频。...于是研究一下,发现原来是他们提供未root导致。于是跟供应商联系给root文件,谁知这丫不给,就给了个系统签名。。好吧,给系统签名就重新编译吧。...1、加入签名最简单方法就是二签,就是用原来签然后换他们给系统签名。...java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk 第一种方法简单,但对以后维护比较麻烦,总不能让用户卸载再重安装吧...:glide:4.6.1' annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1' implementation files

1.8K40

15 个 Android 通用流行框架大全

Picasso 一个强大图片下载与缓存库 Fresco 一个用于管理图像和他们使用内存Glide 一个图片加载和缓存库 3 图片处理 名称 描述 Picasso-transformations...一个为 Picasso 提供多种图片变换Glide-transformations 一个为 Glide 提供多种图片变换库 Android-gpuimage 基于OpenGLAndroid过滤器...解析器/生成器 HtmlPaser 一种用来解析单个独立html或嵌套html方式 Jsoup 一个以最好DOM,CSS和jQuery解析html库 6 数据库 名称 描述 OrmLite JDBC...AndroidAnotations 快速开发。...Queue 一个专门为Android轻松调度任务工作队列 10 事件总线 名称 描述 EventBus 优化事件总线,简化了活动、片段、线程、服务等通信 Otto 一个基于Guava增强事件总线

1.4K60
领券