
应用框架解析
文章平均质量分 89
小图包
这个作者很懒,什么都没留下…
展开
-
Glide源码流程浅析
首先Glide作为一个强大的图片加载框架,已经被android官方使用,所以,明白Glide的加载流程以及原理对加深我们对glide的理解是很重要的。下面我们就来分析下Glide执行流程,脑袋里面先有一个对Glide源码总体执行流程的认识,借鉴一张艽野尘梦绘制的Glide框架图,让我们对Glide的总体框架有一个初步的了解 首先我们从这一句入手,先看看Glide的初始化过程,也就是Glide.with(this)这个方法。Glide.with(this).load("...原创 2021-04-13 14:08:57 · 264 阅读 · 0 评论 -
EventBus3.0源码分析
EventBus是一个基于订阅者-发布者模式框架,该模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听一个对象,通过这种方式对订阅者和主题发布者进行充分解耦,主要用于Android组件间相互通信、线程间互相通信及其他线程与UI线程之间互相通信等。代替了传统的Handler、BroadCastReceiver、Interface回调等通信方式,相比之下EventBus的优点是代码简洁,使用简单,并将事件发布和订阅充分解耦。一 基本使用1自定义一个数据类public class Mess原创 2021-02-22 18:22:45 · 164 阅读 · 0 评论 -
Android Handler 机制 屏障消息(同步屏障)
一、Handler Message 种类Handler的Message种类分为3种:普通消息 屏障消息 异步消息其中普通消息又称为同步消息,屏障消息又称为同步屏障。我们通常使用的都是普通消息,而屏障消息就是在消息队列中插入一个屏障,在屏障之后的所有普通消息都会被挡着,不能被处理。不过异步消息却例外,屏障不会挡住异步消息,因此可以这样认为:屏障消息就是为了确保异步消息的优先级,设置了屏障后,只能处理其后的异步消息,同步消息会被挡住,除非撤销屏障。...原创 2021-02-18 14:14:30 · 2367 阅读 · 0 评论 -
Rxjava订阅流程分析
RxJava框架内部采用观察者模式,基于事件流的链式调用、逻辑简洁、使用简单,在Android开发中被广泛的使用。使用示例 //创建观察者 Observable observable = Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String>.原创 2020-12-18 23:21:01 · 207 阅读 · 0 评论 -
Android动态部署一:Google原生Split APK浅析
在分析Android动态部署原理之前,我们先通过以下四点来分析一下Google原生支持的Split APK机制,了解了Split APK机制之后,可能会对大家深入理解Android动态部署原理有一定的帮助。 1. 什么是Split APK 2. 在实际开发中如何应用 3. 如何安装 4. SplitApk解析时序图什么是Split APKSplit APK是Google为解决655...转载 2018-09-11 11:41:57 · 3013 阅读 · 0 评论 -
小白也能看懂的插件化DroidPlugin原理(三)-- 如何拦截startActivity方法
前言:在前两篇文章中分别介绍了动态代理、反射机制和Hook机制,如果对这些还不太了解的童鞋建议先去参考一下前两篇文章。经过了前面两篇文章的铺垫,终于可以玩点真刀实弹的了,本篇将会通过 Hook 掉 startActivity 方法的一个小例子来介绍如何找出合适的 Hook 切入点。 开始之前我们需要知道的一点就是,其实在 Android 里面启动一个 Activity 可以通过两种方式实现,一种...转载 2018-07-26 15:59:16 · 250 阅读 · 0 评论 -
小白也能看懂的插件化DroidPlugin原理(二)-- 反射机制和Hook入门
前言:在上一篇博文《小白也能看懂的插件化DroidPlugin原理(一)-- 动态代理》中详细介绍了 DroidPlugin 原理中涉及到的动态代理模式,看完上篇博文后你就会发现原来动态代理真的非常简单,只不过就是实现一个 InvocationHandler 接口重写一下 invoke 方法而已。不错,其实很多看似 high level 的技术都并没有想象中的那么晦涩难懂,只要你肯下定决心去了解...转载 2018-07-26 15:57:57 · 229 阅读 · 0 评论 -
原 Hook技术实现免注册和登录验证的插件化框架
Hook技术实现免注册和登录验证的插件化框架 一、功能介绍此插件化框架是Droidplugin的简化版,也是核心部分。主要实现两个功能:启动无注册的Activity(没有在AndroidManifest.xml注册过的) 自动登录验证其中,自动登录验证的过程:是对必须要登录才能查看的界面,在进入界面前,先验证是否登录。若已登录,则直接进入;否则,跳转到登录界面,待登录成功后,再...转载 2018-07-25 19:51:13 · 653 阅读 · 0 评论 -
二、 AsyncTask的实现基本原理
二、 AsyncTask的实现基本原理 上面介绍了AsyncTask的基本应用,有些朋友也许会有疑惑,AsyncTask内部是怎么执行的呢,它执行的过程跟我们使用Handler又有什么区别呢?答案是:AsyncTask是对Thread+Handler良好的封装,在android.os.AsyncTask代码里仍然可以看到Thread和Handler的踪迹。下面就向大家详细介绍一下A转载 2017-10-12 17:32:43 · 256 阅读 · 0 评论 -
retrofit源碼分析
前言在Andrroid开发中,网络请求十分常用而在Android网络请求库中,Retrofit是当下最热的一个网络请求库今天,我将手把手带你深入剖析Retrofit v2.0的源码,希望你们会喜欢在阅读本文前,建议先阅读文章:这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解)目录1. 简介特别注转载 2017-08-29 23:55:40 · 391 阅读 · 0 评论 -
RxJava 与 Retrofit 结合网络请求,你值得拥有
此文旨在讲解RxJava+Retrofit联网请求的结合应用,我将尽我所能的详细讲解。文章的末尾将源码奉上代码可实现如下功能:1.网络请求带缓存2.可取消网络请求3.加载时显示圆形进度条,加载完毕后移除4.简单的封装纳尼!~你对RxJava 和 Retrofit 不甚了解,那么......RxJavaRxJava学习是一个曲折漫长的过程,转载 2017-07-10 13:40:01 · 1564 阅读 · 1 评论 -
Android ListView与RecyclerView对比浅析--缓存机制
一,背景RecyclerView是谷歌官方出的一个用于大量数据展示的新控件,可以用来代替传统的ListView,更加强大和灵活。最近,自己负责的业务,也遇到这样的一个问题,关于是否要将ListView替换为RecyclerView?秉承着实事求是的作风,弄清楚RecyclerView是否有足够的吸引力替换掉ListView,我从性能这一角度出发,研究RecyclerView转载 2017-06-25 22:57:00 · 285 阅读 · 0 评论 -
MVP 模式简单易懂的介绍方式
Android MVP 模式 [1] 也不是什么新鲜的东西了,我在自己的项目里也普遍地使用了这个设计模式。当项目越来越庞大、复杂,参与的研发人员越来越多的时候,MVP 模式 的优势就充分显示出来了。MVP 模式是 MVC 模式在 Android 上的一种变体,要介绍 MVP 就得先介绍 MVC。在 MVC 模式中,Activity 应该是属于 View 这一层。而实质上,它既承担了 Vie转载 2017-06-30 23:44:42 · 239 阅读 · 0 评论