自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Android之RecyclerView核心要点解析

1 RecyclerView的ViewHolderRecyclerView是我们在开发中经常会用到的控件,也是面试中经常会问到。RecyclerView相对ListView在用法上,最明显的一点就是它会强制我们使用ViewHolder。那么,ViewHolder到底是什么呢,它和我们常说的复用有没有关系呢。其实,ViewHolder和复用是没有关系的。在ListView中,我们是把find...

2019-03-25 15:58:40 375

原创 Android多线程之RxJava2.0原理完全解析

1 RxJava的基本用法最简单的RxJava用法如下,上游可以是一个Single,也可以是一个Observal,最下游是SingleObserver,也可以是Observer。链的中间是各个节点,它们是下游的上游,也是上游的下游。它们可以实现各种功能,包括线程切换,数据转换等。Single.just("123") .subscribeOn(Schedulers.io()...

2019-03-14 17:34:19 1359

原创 Android多线程之线程间通信详解

1 线程间的交互如上文所述,在一个线程启动别的线程主要有new Thread().start()、Executor.execute()等方式。那么,一个线程如何终止另一个线程呢。可以有如下两种方式。Thread.stop(),立即让线程停止,但可能会造成一些不可预期的后果,所以已经被废弃了。Thread.interrupt(),不强制终结线程。配合isInterrupted()判断...

2019-03-07 09:27:04 814

原创 Android多线程之线程安全详解

1 线程和进程的区别首先一点,进程是包含线程的。就是一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。而一个运行的软件是可以包含多个进程的。线程是码顺序执⾏行行下来,执⾏行行完毕就结束的一条线。线程和进程的具体区别如下: 进程是资源分配的最小单位,线程是程序执行的最小单位。 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址...

2019-03-01 18:08:20 1927

原创 Okhttp3源码完全解析

上文已经说了,Okhttp和Retrofit是相辅相成的,Retrofit是对Okhttp的上层封装,Okhttp是Http的底层实现。那么,今天就来解析一下Okhttp的源码。1 如何使用OkhttpOkHttpClient client = new OkHttpClient();Request request = new Request.Builder() .url...

2019-02-22 14:16:55 409

原创 Retrofit2.0源码完全解析

1 Retrofit 和 Okhttp 的关系现在android端主流的网络框架就是 retrofit + okhttp,那么,它们之间的关系到底是什么呢,其实,真正做网络请求的是okhttp,retrofit只是对它的进一步封装。既然okhttp已经能够实现网络相关操作了,为什么还需要retrofit呢?很简单,用一个词就能够解释,adapter,adapter的意思是适配器,可以实现各...

2019-02-01 17:51:43 325

原创 HTTPS的加密过程详解

1 定义HTTPS是HTTP over SSL的简称,即工作在SSL上的HTTP。也就是加密通信的HTTP。2 工作原理HTTPS在通信过程中使用的是对称加密,当然,它的密钥是无法直接获取的,因为它的密钥是通过非对称加密进行传输的,中间还有很多复杂的过程,保证密钥是绝对安全的。那么,问题来了,非对称加密那么安全,为什么要多此一举来使用这种复杂的对称加密方式呢,原因很简单。非对称加密的通...

2019-01-25 16:35:51 3600

原创 关于加密,数字签名和Hash的简析

1 对称加密首先,我们要知道什么是对称加密。对称加密就是通信的双方使用同一个密钥,加密就是使用加密算法配合密钥来加密原数据,解密就是使用解密算法配合密钥来对密文进行解密。常见的经典算法有DES和AES。其中,DES的密钥因为太短而逐渐被弃用,AES是当下最流行的加密算法。当然,它也有它的缺陷,就是它无法在网络上传输密钥,密钥泄漏则代表加密失败,所以才有了非对称加密。2 非对称加密...

2019-01-24 11:11:54 2062

原创 关于请求报文和响应报文的详解

1 什么是HTTP请求 HTTP的定义是超文本传输协议,是一种网络传输协议,位于协议族的应用层中。2 请求报文请求报文包括三个部分,第一部分是请求行,第二部分是Headers,第三部分是Body。2.1 请求行请求行包括三个部分,第一个是方法。常见的有get,post,put,delete。第二个是路径,也就是服务器地址后面的部分,比如 https://mp.csdn.net/...

2019-01-17 15:31:58 6230

原创 android最简单的平板适配方法

      其实通过dp这个单位和存放不同图片资源的文件夹(mdpi,xhdpi 等等),理论上安卓已经可以适配大部分的机型了。但是还有一些特殊机型不能适配,但是之前也没要求我们适配所有手机,所以做个两三套的图纸也能完成适配。      但是最近的一个项目要求能够在平板上运行,然后发现dp单位不起作用了,这就很尴尬了。。      后来经过一个朋友的推荐,用百分比的适配方法。简单说来,就是...

2016-09-06 10:53:10 14847 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除