- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 Android databinding include 引入的布局 控件id 引用方式
在启用databinding的布局中,以下为布局layout_a:<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:bind="http://schemas.android.com/tools"
2021-01-08 16:32:43
2445
1
原创 TCP连接的三次握手和四次挥手
这段时间,有在做网络方面的日志收集工作,所以就再次拿起了http相关的知识,其中就有TCP连接的三次握手和四次挥手,为了加深了解,随记录下来。HTTP:要说TCP连接,可能不熟悉,但说起http,应该都有所了解,http是一种建立在TCP连接基础上的通信协议,要做一次http请求,首先就是要建立TCP连接,TCP连接是全双工通道,然后在通道上交互满足http协议的数据,数据交互完成关闭TC...
2019-10-16 08:35:27
179
原创 解读OkHttp3之StreamAllocation
说到StreamAllocation的解读,需要先看多上一篇章对okHttp3框架的解读:这篇主要分析StreamAllocation的源码:public StreamAllocation(ConnectionPool connectionPool, Address address, Call call, EventListener eventListener, Objec...
2019-10-16 08:32:29
258
原创 OKHttp源码解读
本次源码解读基于OkHttp3.9.1,要解读源码,先从使用实例开始,下面是OK上的一个基本用例:private final OkHttpClient client = new OkHttpClient();public void run() throws Exception { Request request = new Request.Builder() ...
2019-10-16 08:31:54
188
原创 Android如何在子线程中使用Handler
一、基本概念: 要在子线程中使用Handler,需要先清楚Handler是如何工作的,这里我画一个简图描述下Handler的工作过程:这里有提到4个概念: Handler:作为消息的发送和处理者,可以在其它线程中使用handler把消息Message存放到Looper创建时所在线程的队列MessageQure中,同时又提供方法回调来处理Looper取出...
2019-09-16 15:01:34
5004
原创 Android的任务栈和启动模式的那点事情
Android的启动模式 先说说Android的启动模式,大家都不陌生,启动模式是在Android的manifest配置文件当中定义的,可以根据需要定义成以下4种不同的启动模式: standard standard模式,也是默认启动模式(如果mainifest文件中没有定义LaunchModel属性值,则默认为该启动模式),它的特征是每次调用startAc...
2019-07-30 09:00:10
188
原创 想了解 Activity生命周期执行时机的看过来
关于Android的生命周期这点事,相信大家一定耳熟能详,然而对每个生命周期的精确调用时机,大家是否能够精确掌握呢,我们都知道,Activity的生命周期,在Android开发中,占有重要地位,在UI渲染、业务逻辑、资源释放等等很多地方都需要关联到生命周期了,如果用的不好,就会造成各种问题,这篇文章的目的就是带大家详细了解下生命周期的各种调用时机及场景,首先看下如下的生命周期图...
2019-07-16 11:36:10
734
原创 模板文本文件自动生成插件
1、使用:a、插件已上传到JetBrains插件库,在插件库中搜索“TemplateFile”下载插件,并重启IDE;b、配置介绍:打开File->Settings->Other Settings->TemplateFile下列的动态配置或者静态配置,都可以用来格式化模板文本(注意所有"参数"的key都必须使用“$”符号开始和结束); 接下来就是配...
2018-08-27 11:42:34
1342
原创 Android AOP 之 javassist 示例
javassist Demo这里主要介绍一些javassist在Android中的基本使用方法,以及一个简单的实例; 在做这个Demo时,也从网络上获取过相关知识,只是大部分都是copy的,没有很大的参考价值,而且坑也比较多,这里主要就是记录采坑记吧!一、准备工作:1、新建一个android项目,然后添加一个LibraryModule,我们的插件就在这个module中开发了2、在L...
2018-08-10 16:47:50
1740
2
原创 Android AOP 之 javapoet (APT)示例
APTDemo这里主要介绍AOP编程之javapoet框架,javapoet框架也叫注解处理框架,必须依赖于注解;一、准备工作:1、新建两个javaModule(可以先建两个正常的android Library项目),一个用来存放注解,一个用来存放注解处理器,如下图:需要注意的是这里要把android Library改成java,所以要把两个Module的gradle配置文件改成...
2018-08-10 16:42:59
1588
原创 Android AOP 之 Aspectj 实践
1、AOP的概念: 面向侧面的程序设计(aspect-oriented programming,AOP,又译作面向方面的程序设计、观点导向编程、剖面导向程序设计)是计算机科学中的一个术语,指一种程序设计范型。该范型以一种称为侧面(aspect,又译作方面)的语言构造为基础,侧面是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点(crosscutting concer...
2018-08-03 20:12:41
319
原创 解android的Handler之谜
说到Android的Handler,我们用到最多的就是用来在子线程中通知主线程更新UI,但其实,我们有思考过它们内部是怎么实现的吗,现在就带大家一步一步来揭开它的神秘面纱吧。要说Handler,当然得先从它的构造函数说起:public Handler() { this(null, false); }public Handler(Callback callba
2017-10-16 15:45:38
227
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人