面试官:为什么用Okhttp,而不选择其它网络框架? 支持HTTP2/SPDY,允许所有同一个主机地址的请求共享同一个Socket连接(SPDY是Google开发的基于TCP...
面试官:为什么用Okhttp,而不选择其它网络框架? 支持HTTP2/SPDY,允许所有同一个主机地址的请求共享同一个Socket连接(SPDY是Google开发的基于TCP...
这可能是最好的 RxJava 2.x 入门教程系列专栏文章链接:这可能是最好的RxJava 2.x 入门教程(一)[https://www.jianshu.com/p/a93...
定义 逆变与协变用来描述类型转换(type transformation)后的继承关系,其定义:如果A、B表示类型,f(⋅)表示类型转换,≤表示继承关系(比如,A≤B表示A是...
在Android开发过程中,有时候我们需要使用SQLite数据库去本地存储一些临时文件,之前,我们的做法是通过SQLiteOpenHelper实现创建数据库,以及迭代开发中的...
前言 计算机网络基础 该是程序猿需掌握的知识,但往往会被忽略 今天,我将详细讲解计算机网络中最重要的TCP协议,含其特点、三次握手、四次挥手、无差错传输等知识,希望你们会喜欢...
封装 封装的意义: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏。 保护成员属性,不让类以外的程序直接访问和修改; 隐藏方法细节 关于对象封装的原则: 内聚:内聚是...
常用方法 构造方法 Paint mPaint = new Paint(); 重置画笔 mPaint.reset(); 设置颜色 mPaint.setColor(Color.R...
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊...
参考:https://www.jianshu.com/p/3c5ac5fdb62a 作为开发者,我们经常和Bitmap打交道,比如:imageView.setImageBit...
缓存模块 我在分析 Glide 源码前将 Glide 的项目 clone 到了本地,阅读时添加了很多注释以及自己的理解等等,现在已经推到了 Github 上,有兴趣的同学可以...
博主写的太好了😄
Glide 源码分析解读-基于最新版Glide 4.9.0项目编译 项目基于最新版 Glide 4.9.0 源码分析,通过如下方式获取并编译代码: 代码量(使用 cloc 统计): 我在分析 Glide 源码前将 Glide 的项目...
民间有传言,没有手撸过个人网站的程序员不是一个好的前端开发工程师,可是!强撸灰飞湮灭!为了自己的身体健康,还是少撸为妙!不要998,也不要98,完全免费,hexo你直接带回家...
CacheInterceptor应该加个标题啦
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 一、为什么要学gradle Android studio已经出来很久了,相信大部分公司都已经从eclip...
在Android学习过程中,初学者踩过的坑我也都踩过,我也深深地知道大家在学习过程中最棘手的问题是什么。举个例子,在3年前,我想在SlidingMenu中放入一个ListVi...