前言 动画的使用 是 Android 开发中常用的知识 可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策 Androi...
前言 动画的使用 是 Android 开发中常用的知识 可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策 Androi...
LeakCanary原理浅析 1.LeakCanary简介 LeakCanary是一个Android和Java的内存泄漏检测库,可以大幅可以大幅度减少了开发中遇到的OOM问题...
一,打破砂锅问到底 泛型存在的意义?泛型类,泛型接口,泛型方法如何定义?如何限定类型变量?泛型中使用的约束和局限性有哪些?泛型类型的继承规则是什么?泛型中的通配符类型是什么?...
kotlin的可空性1.在java中我们司空见惯的空指针异常,带给我们很多麻烦。kotlin改良后,更多的把运行时可能会出现的null问题,以编译时错误的方式,提前在编译期强...
一、什么是Retrofit A type-safe HTTP client for Android and Java 以上是官网给出的答案,翻译成中文:Retrofit是An...
写这篇博客的意义完全是为了后边继续写OkHttp源码阅读系列中的CacheInterceptor做铺垫,作为移动端开发人员来说,Http的缓存机制并不是很熟悉,在阅读Ok...
上一篇我们了解了OkHttp的拦截器链是如何形成连式结构,并且如何工作的,接下来开始逐个的分析学习OkHttp内置的几个拦截器。首先第一个拦截器:重试和重定向拦截器Ret...
之前对OkHttp的分析可以知道一个请求获取的Response是通过一个叫做拦截器链的东西得到的,Response result = getResponseWithInt...
上边OkHttp源码阅读(OkHttp源码阅读(一)-——初识OkHttp[http://www.sherlockaza.com/2017/03/11/2017-03-1...
OkHttp[https://github.com/square/okhttp]是由square公司研发一款开源的轻量级网络请求框架,一直备受Android端青睐,OkH...
本篇文章对Glide最新4.11.0版本做一个宏观解析,目的是把握下Glide的大框架,有了宏观了解之后,再剖析细节就比较容易了。 源码解析: Glide.with(this...
android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道bitmap所占内存大小计算方式: 图片长度 x 图片宽度 ...
一.HTTP和HTTPS的基本概念 HTTP(超文本传输协议):是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输...
并发(concurrency)和并行(parallellism)是: 解释一:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。 解释二:并...
深入理解CAS(乐观锁) java使用CAS之前 在JDK5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁,锁机制存在以下问题: 在多线程竞争下,...
AQS是AbstractQueuedSynchronizer的简称。AQS提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架,如下图所示。AQS为一系列同步器...
上一篇我们讲解了synchronized的使用,用它就可以满足数据的同步,但是为什么有时我还是会使用Lock呢?因此在这里我们不得不说说synchronized的不足之处,例...
(一)Lock接口 (二) 四种获取锁方式 首先lock()方法是平常使用得最多的一个方法,就是用来获取锁。如果锁已被其他线程获取,则进行等待。Lock lock = ......