![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android架构分析
文章平均质量分 79
倾尽杯中酒
努力,加油
展开
-
Android-消息机制(Handler机制)浅析
Android-消息机制浅析简介Android消息机制主要就是指Handler的运行机制;借用网络的图片图解:1.以Handler的sendMessage方法为例,当发送一个消息后,会将此消息加入消息队列MessageQueue中。2.Looper负责去遍历消息队列并且将队列中的消息分发给对应的Handler进行处理。3.在Handler的handleMessage方法中处理该消息,这就完成了一个消息的发送和处理过程。这里从图中可以看到参与消息处理有四个对象,它们分别是 Handler,原创 2020-05-25 21:23:50 · 345 阅读 · 0 评论 -
Android-EventBus(手写简易版)
Android-EventBus探索原创 2020-05-24 15:42:10 · 594 阅读 · 2 评论 -
Android-图片加载Gilde
Android-图片加载GildeGilde-github介绍Glide会在开始一个新的图片请求之前检查多级缓存;调用into之后,会依次按这个顺序查找:1、活动缓存(Active Resources):如果当前对应的图片资源正在使用,则这个图片会被Glide放入活动缓存。2、内存缓存(Memory Cache):如果图片最近被加载过,并且当前没有使用这个图片,则会被放入内存中3、资...原创 2020-05-23 15:40:56 · 691 阅读 · 0 评论 -
Android-jetPack技术(Lifecycle、ViewModel、LiveData)
Android-jetPack技术简介借用文档上面的话Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。Jetpack 包含与平台 API 解除捆绑的 androidx.* 软件包库。这意味着,它可以提供向后兼容性,且比 Android 平台的更新频率更高,以此确...原创 2020-04-25 21:03:26 · 605 阅读 · 0 评论 -
Android-MVVM设计思想
Android-MVVM设计思想简介MVVM:MVVM是Model-View-ViewModel的简写,双向数据绑定,数据驱动UI;通过databinding的组件,负责将view和Model进行绑定;MVVM:内存消耗比较大,每一个对象在内存中产生一个副本,而且没刷新一次UI都会开一个线程,也比较耗电,但是开发的速度是各种模式里面最快的一种;图解apply plugin: 'com....原创 2020-04-25 13:54:27 · 383 阅读 · 0 评论 -
Android-ButterKnife(手写)
Android-ButterKnife简介ButterKnife是一个Android系统的View注入框架,它用到的是编译时的技术,在编译的时候生成新的class;标致上注解,在java源文件转换成class文件的过程中,通过APT(注解处理工具)产生代码;相对我上一篇IOC的博客,这里是在玩编译时,所以这里和上篇博客的反射不一样,这里是没有去用反射,这样会是的性能提升;添加依赖 i...原创 2020-04-18 22:16:33 · 228 阅读 · 0 评论 -
Android-IOC代码思路实现(布局注入、控件注入、事件注入)
Android-IOC思想IOC思想,现在很多框架中都有使用,,如ButterKnife,Dagge、Xutils、Retrofit等等核心思想IOC是原来由程序代码中主动获取的资源,转变由第三方获取并使原来的代码被动接收的方式,以达到解耦的效果,称为控制反转。图解IOC之前,就好像自己的事情自己主动做;IOC之后,就好像自己的事情由别人去做,相当于被动接受;代码中IOC,相信用过上...原创 2020-04-16 22:31:59 · 269 阅读 · 0 评论 -
Android-OkHttp源码分析、拦截器
Android-OkHttp源码分析OkHttpGitHubOkHttp官网现在4.0以后基于Kotlin…我们今天来看看3.14.2版,基于java…kotlin目前博主不熟 - -!添加依赖implementation(“com.squareup.okhttp3:okhttp:3.14.2”)我们先来看看基本使用建造者模式:一般在构建对象的过程需要配置很多很多的参数时...原创 2020-04-13 17:47:17 · 257 阅读 · 0 评论 -
Http网络通讯协议浅析
Http网络通讯协议浅析网络分层模型OSI七层模型的出现是为了更好的规范控制网络各层对应的设备各层对应协议TCP/IP 三次握手三次握手是建立连接四次挥手是终止连接HTTP1.1建立在TCP协议上的“超文本传输协议”http工作原理(发送请求)1、客户端与服务器建立连接;2、客户端向服务器提出请求;3、服务器接收请求,并提出请求返回相应的文件...原创 2020-04-03 10:58:32 · 173 阅读 · 0 评论 -
Android-RxJava2背压、生命周期
Android-RxJava背压原理、生命周期背压产生原因当上下游在不同的线程中,通过Observable发射,处理,响应数据流时,如果上游发射数据的速度快于下游接收处理数据的速度,这样对于那些没来得及处理的数据就会造成积压,这些数据既不会丢失,也不会被垃圾回收机制回收,而是存放在一个异步缓存池中,如果缓存池中的数据一直得不到处理,越积越多,最后就会造成内存溢出,这便是响应式编程中的背压(b...原创 2020-03-29 21:51:10 · 263 阅读 · 0 评论 -
Android-RxJava2线程切换原理
Android-RxJava2线程切换原理、背压和生命周期Observable被观察者这个类里面有1万多行代码,里面基本很多方法的重载,下面我们来看看这里面的源码。我们加上注释来看比较方便我们跟进Observable.just(1) 这个方法进去看看里面的处理,最后返回了Observable被观察者对象出来了 @CheckReturnValue @SchedulerSuppor...原创 2020-03-22 22:08:12 · 480 阅读 · 0 评论 -
Android-RxJava2响应式框架介绍和入门简单的使用
Android-RxJava2响应式框架简介什么是RxJava?一个可观测的序列来组成异步的、基于事件的程序的库。(简单来说:它就是一个实现异步操作的库)github地址:RxJavaRxJava 好在哪?RxJava 其实就是提供一套异步编程的 API,这套 API 是基于观察者模式的,而且是链式调用的,所以使用 RxJava 编写的代码的逻辑会非常简洁。适用场景?数据库的读写、...原创 2020-03-22 13:46:11 · 275 阅读 · 0 评论 -
Android-插件化-插桩式
Android-插件化架构设计简介插件化:属于动态加载技术(插件化、热修复),三种方式实现:1、插桩式;2、hook技术;动态加载技术:在应用程序运行时,动态记载一些程序中原本不存在的可执行文件并运行这些文件里面的代码逻辑。可执行文件总的来说分为两种,一种是动态链接库so,另一种是dex相关文件(dex文件包含jar/apk文件)。作用插件化作用:主要用于解决应用越来越庞大的以及功能模块...原创 2020-03-21 16:34:59 · 630 阅读 · 0 评论