
框架原理
文章平均质量分 89
向往自由美好的孙先森
这个作者很懒,什么都没留下…
展开
-
Glide原理剖析,面试就这么答(二)
接上一篇Glide原理剖析,面试就这么答!(一)_BonnySoul的博客-优快云博客_glide原理面试面试官:Glide圆角处理的流程是怎样的?Q:Glide的圆角需要自己去继承BitmapTransformation,实现transform,updateDiskCacheKey。transform方法需要返回一个处理过的bitmap。其实就是通过画笔去画一个圆角的bitmap.RequestOptions().transform(new MyBitmapTransform.原创 2021-11-18 20:34:15 · 2240 阅读 · 0 评论 -
Retrofit 原理梳理
Retrofit的核心原理解密2Retrofit的代理模式动态代理实现在java的java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口,通过这个类和这个接口可以生成JDK动态代理类和动态代理对象。这个代理对象是存在于内存中的。1、创建一个InvocationHandler对象 InvocationHandler stuHandler = new MyInvocationHandler<Person>(stu);...原创 2021-08-15 21:33:44 · 331 阅读 · 0 评论 -
你所需要掌握的okhttp知识
1.1 介绍:okhttp 是目前Android 使用最广泛的网络框架。从android4.4开始HttpUrlConnection的底层实现采用的是OkHttp。1.2 调用流程OkHttp请求过程中最少只需要接触OkHttpClient、Request、Call、Response,但是框架内部进行大量的逻辑处理。 所有的逻辑大部分集中在拦截器中,但是在进入拦截器之前还需要依靠分发器来调配请求任务。分发器:内部维护队列与线程池,完成请求调配;拦截器:五大默认拦截器完成整个请求过程。..原创 2021-08-14 19:30:40 · 237 阅读 · 0 评论 -
动态代理原理解析
之前有一篇设计模式的文章说过了代理模式。这一篇是对之前的补充跟深入。1 为什么需要学习动态代理1.动态代理能够增加程序灵活度,如加入 方法执行前后判断2 完美解决解耦问题,动态代理可以将调用层与实现层分离,如Retorfit网络请求3 动态代理不需要接口的实现类,如 适用于 IPC进程通信,将方法调用转成其他逻辑1.动态代理不需要接口的实现类,如 适用于 IPC进程通信,将方法调用转成其他逻辑4 动态代理可以解决 程序执行流程,如今天讲的事件转到activity执行动态代理含义1原创 2021-06-28 19:01:23 · 2114 阅读 · 0 评论 -
android LayoutInflater源码分析以及换肤框架实现原理(2)
上一节了解完布局加载的源码后,这篇就是带大家去实现换肤框架。主题换肤框架的实现思路?原创 2021-06-24 09:54:26 · 299 阅读 · 0 评论 -
android LayoutInflater源码分析以及换肤框架实现原理(1)
不记得是从哪个版本开始,我们最熟悉的新增Activity默认的继承类Activity 变成了AppCompatActivity。显示Activity的布局,我们实现起来很简单,只需要在onCreate()方法中setContentView(R.layout.activity_main)。今天就从源码层去看看到底系统为我们做了什么。点开AppCompatActivity内部@Overridepublic void setContentView(@LayoutRes int layoutRes.原创 2021-06-23 10:46:00 · 257 阅读 · 0 评论 -
Android 属性动画从入门到精通
属性动画,顾名思义它是对于对象属性的动画。因此,所有补间动画的内容,都可以通过属性动画实现。属性动画入门private void RotateAnimation() { ObjectAnimator anim = ObjectAnimator.ofFloat(myView, "rotation", 0f, 360f); anim.setDuration(1000); anim.start(); } private void Alpa...原创 2021-06-17 20:27:35 · 219 阅读 · 1 评论 -
Gradle -自定义task
1 了解tasktask是gardle中最小的任务单元,任务之间可以进行复杂的操作(如动态创建任务,多任务间依赖调用等等)。gradle的执行其实就是由各种任务组合执行,来对项目进行构建的。原创 2021-06-12 11:48:30 · 2804 阅读 · 3 评论 -
Android 从AIDL来看Binder机制
下面就以图解的方式介绍下Binder机制,相信你看这篇文章,一定有所收获。什么是 Binder?Binder是Android系统中进程间通讯(IPC)的一种方式,也是Android系统中最重要的特性之一。Android中的四大组件Activity,Service,Broadcast,ContentProvider,不同的App等都运行在不同的进程中,它是这些进程间通讯的桥梁。正如其名“粘合剂”一样,它把系统中各个组件粘合到了一起,是各个组件的桥梁。理解Binder对于理解整个Android系...转载 2021-04-01 10:27:40 · 431 阅读 · 0 评论 -
Glide原理剖析,面试就这么答!(一)
Glide是近年来Android图片加载最常用的框架,同时也是面试时最容易被问到的。今天就通过面试题的方式来对Glide进行原理的剖析。第一问:Glide与其他图片框架相比,有什么优势?很多同学会说 Glide使用是链性写法,使用方便。当然可以这么说,但不能仅仅这么说。我们先看一下with()方法,这个需要传一个context,这个context可以是activity,也可以是fragment。不管传入哪种值得with方法,它的底层都是调用getRetriever()方法,当传入f原创 2020-06-02 10:51:16 · 3461 阅读 · 0 评论