- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 Android点击事件中event.getX()与event.getRawX()的区别
event.getRawX()获得的是原始坐标event.getX()获得的是距离自身左边界的距离
2022-01-07 14:51:31 2264
原创 xml中控件的构造方法
将控件直接写在xml布局文件中,运行时会调用控件的第二个构造方法,也就是参数为(@NonNull Context context, @Nullable AttributeSet attrs)的构造方法
2022-01-07 13:54:37 1182
原创 Android中onDraw与dispatchDraw的区别
onDraw绘制当前整个控件dispatchDraw值绘制控件中的子控件,并且dispatchDraw可以频繁调用
2022-01-07 13:41:26 1825
原创 OkHttp拦截器
在之前的文章中提到过,拦截器就是在分发器中一行代码的使用。说到拦截器,就要先说到设计模式中的责任链模式。责任链模式为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。这种模式避免请求发送者与接收者耦合在一起。接下来我们来分析OkHttp中每个拦截器的作用第一个拦截器retryA..
2021-12-22 15:59:27 674
原创 OkHttp分发器线程池
来看看线程池的源码,主要的参数有,核心线程数 ,最大线程数,闲置时间,任务队列,线程创建工厂等等。核心线程数是指线程池会一直维护的线程个数,让这些线程一直属于存活的状态,不会使他消亡。最大线程数顾名思义是指线程池可以同时执行的最大数量,闲置时间是指空闲超过闲置时间的超过核心线程数的线程会被回收,任务队列则是线程池中的重点,我们进入ThreadPoolExecutor方法,可以看到任务队列需要传一个BlockingQueue,这里okhttp使用了SynchronousQueue,Synchronou..
2021-12-20 16:30:46 580
原创 Http请求过程是怎么样的
1.域名解析,也就是DNS解析,把域名解析成IP。2.根据解析到的IP进行TCP连接,三次握手,得到socket对象。3.利用Socket输出流,写出http报文,发出请求。
2021-12-19 18:08:04 817
原创 HashMap的基本概念
HashMap是工作中经常会用到的数据结构,简单来说HashMap是一种基于Map接口的一种键值对<Key,Value>结构的实现。HashMap的Key和Value都允许为null,但最多只允许一条Key为null,HashMap是无序的,非同步的,也就是说它是线程不安全的。HashMap的底层是由数组+链表+红黑树(JDK1.8新增)实现的,在HashMap存储和查找时,首先会通过Key的hashCode通过扰动函数(JDK1.8)/取模运算(JDK1.7)计算出存储位置。H...
2021-10-20 10:56:29 304
原创 从C语言的HelloWorld说起
#include <stdio.h>int main(){ printf("Helloworld\n");}HelloWorld无疑是千万程序设计人员的开始,这段程序虽短,但展现了c语言程序的几个要素与特点:1.main函数,main是c程序的入口,每个c语言程序都是从这个起点开始运行的。2.函数执行体,由一对大括号组成,括号内的内...
2019-10-13 00:17:23 151
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人