
Android
文章平均质量分 75
followYouself
智障儿童欢乐多
展开
-
架构模式 MVC MVP MVVM
MVC、MVP、MVVM模式的简单介绍原创 2022-07-23 16:25:43 · 1052 阅读 · 0 评论 -
从Launcher启动一个APP流程 Android 12
Android 应用启动流程原创 2022-06-08 00:42:02 · 3018 阅读 · 0 评论 -
OkHttp连接拦截器篇
文章目录缓存篇流程图`ConnectInterceptor`详解ExchangeFinder`ExchangeFinder#findConnection`源码分析RealConnection连接池ConnectionPoolTransmitter代理和DNSJava定义的代理类型三种`DIRECT`、`HTTP`、`SOCKS`DNS解析缓存篇https://blog.csdn.net/followYouself/article/details/121086502流程图ConnectInter原创 2021-11-01 19:40:34 · 1816 阅读 · 0 评论 -
OkHttp缓存篇
文章目录OkHttp设计模式 & 关键点Demo代码拦截器 InterceptorRetryAndFollowUpInterceptorBridgeInterceptorCacheInterceptorConnectInterceptornetworkInterceptorsCallServerInterceptor`CacheInterceptor`缓存详解Cache.javaCacheStrategy.java 缓存策略okhttp3.Dispatcher 异步请求调度Http Header配置原创 2021-11-01 19:17:42 · 2497 阅读 · 2 评论 -
Retrofit & Rxjava3 & RxAndroid
Retrofit & Rxjava3Retrofit:https://blog.csdn.net/followYouself/article/details/120317044引用库本文主要分析 implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'的源码implementation 'com.squareup.retrofit2:retrofit:2.9.0'implementation 'com.squareu原创 2021-09-30 18:11:44 · 741 阅读 · 0 评论 -
Rxjava3 & RxAndroid
Rxjava && Rxandroid引用方式implementation "io.reactivex.rxjava3:rxjava:3.1.1"implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'概念Observable是被观察者,也是生产者,也是source类型。Observer是观察者,也是消费者。被观察者、生产者、source、上游、upstream 是一类概念。在subscribeOn和observeOn经常会看原创 2021-09-30 18:10:05 · 697 阅读 · 0 评论 -
Retrofit
Retrofit 实现一次网络请求流程定义抽象网络请求接口new Retrofit对象。配置baseUrl。调用retrofit.create函数,生成代理类对象。GitHubService service = retrofit.create(GitHubService.class)。调用抽象网络接口对象,生成retrofit2.Call对象。这个对象的默认实际类型是retrofit2.DefaultCallAdapterFactory.ExecutorCallbackCall。调用retrof原创 2021-09-15 21:17:48 · 425 阅读 · 0 评论 -
动态代理简析
代理模式一个抽象接口,一个功能类,一个功能类的代理类。代理类组合功能类。功能类和功能类的代理均实现了抽象接口。调用者通过代理类调用实际功能类。代理分为静态代理和动态代理。动态代理的经典使用:Retrofit开源库。1、和适配器模式的区别:适配器模式主要改变所考虑对象的接口,而代理模式不能改变所代理类的接口。2、和装饰器模式的区别:装饰器模式为了增强功能,而代理模式是为了加以控制。应用场景:远程代理(服务器和客户端)、安全代理(安全控制)、虚拟代理、延迟加载、智能指引。动态代理动态代理实现原创 2021-09-11 20:31:05 · 251 阅读 · 0 评论 -
EventBus
EventBus配置android { defaultConfig { javaCompileOptions { annotationProcessorOptions { // 生成的Index类的名称 arguments = [ eventBusIndex : 'com.example.myapp.MyEventBusIndex' ] } } }原创 2021-09-08 19:57:59 · 209 阅读 · 0 评论 -
书籍: Android进阶解密
Android系统启动流程启动电源以及系统启动引导程序BootLoader执行启动Linux内核.启动pid为 0 的进程 swapperinit进程启动,pid 为 1. 引导孵化出Zygote进程(Java进程).启动Native层的Media Server、Service Manager(binder 服务管家)、开机动画.Zygote 进程. 第一个java进程,加载虚拟机SystemServer进程. framework进程,包含多种服务.AMS,WMS 等等Launcher进程.原创 2021-08-22 14:59:07 · 1367 阅读 · 2 评论 -
沪江 AOP 切片 API使用说明
官方参考https://github.com/HujiangTechnology/gradle_plugin_android_aspectjxAOP 切片编程 SDK使用build.gradlebuildscript { repositories { mavenLocal() google() jcenter() } dependencies { classpath 'com.android.tools.bu原创 2021-08-03 18:19:41 · 331 阅读 · 0 评论 -
简单的对象池(ObjectPool)实现
package chenggong.test;import java.util.Objects;/** * 对象池。用了一个简单的链表来实现 * * @since 2021-07-25 */public class ObjectPool { private static final String TAG = "ObjectPool"; private static final Object POOL_LOCK = new Object(); private st.原创 2021-07-25 17:39:03 · 416 阅读 · 0 评论 -
AIDL 跨进程调用 Java代码
原创 2021-06-13 00:07:20 · 129 阅读 · 0 评论 -
泛型说明
java 泛型的几点说明泛型有三种:泛型类,泛型接口,泛型方法。这三种泛型声明的位置是不同的。泛型类是在创造类实例的时候需要指明泛型,泛型方法时在调用方法的时候需要指明泛型。泛型又有字母泛型 T 和泛型通配符 ?。通配符 ? 在编译器中不是Java的实际类型,编译器将把? 类型识别为临时类型,比如“CAP#1”。这种类型是无法用于任何变量的赋值的。extends和super关键字更常和泛型通配符 ? 使用。<? extends Object> 常常有用于函数入参的声明。 extend原创 2020-06-18 12:13:23 · 452 阅读 · 0 评论 -
Fastjson解析Json
基本的解析操作JsonString解析成为JsonObjectJsonString解析成为某Bean类的一个实例JsonString解析成为JsonArrayJsonString解析成为一个列表List&amp;amp;amp;amp;lt; T&amp;amp;amp;amp;gt;JsonObject、Bean类、JsonArray、List &amp;amp;amp;amp;lt; T&amp;amp;amp;amp;gt;原创 2018-06-26 21:04:30 · 287 阅读 · 0 评论 -
Toolbar and DrawerLayout
Toolbar去掉actionbar的方式supportRequestWindowFeature(Window.FEATURE_NO_TITLE)用于AppCompatActivity继承的Activity去除actionbar,在onCreate方法的setContentView(R.layout.activity_main)方法之前.(RequestWindowFeature(Window...原创 2018-11-11 20:55:17 · 169 阅读 · 0 评论 -
HandlerThread
HandlerThreadhandlerThread就是一个包含looper的Thread.使用方法 HandlerThread handlerThread = new HandlerThread("handlerThread"); //handlerThread.getLooper()获取Looper Handler handler = new Han...原创 2018-11-11 22:24:31 · 372 阅读 · 0 评论 -
Handler、Looper、Message简易实现
简述Handler 处理类Looper 循环类,包含消息队列,包含一个循环线程Message 消息类实现可以发送消息,会在一个子线程中处理消息内容,需要手动调用quit停止线程工作.可以发送runnable执行任务,可以延时.Message类public class Message { public String name; public int what;...原创 2018-12-23 23:13:16 · 235 阅读 · 0 评论 -
Android make file语法
cc_defaults 是当前模块的父模块cc_binary 代表可以生成二进制库文件,生成的文件在/system/bincc_library cc_library_shared 代表一个c++可编译库,生成的so库在/system/framework/libjava_library 是一个java库,编译出jar包shared_libs 依赖库subdirs 子...原创 2019-09-07 17:17:21 · 1776 阅读 · 0 评论