小胖在写完这篇文章后,问自己的几个问题。我想,看完这篇文章,你可能就会有自己的答案了。 1次10msGC和10次1ms的GC你会选择哪种?CMS收集器缺陷是什么?提高CMS的...
小胖在写完这篇文章后,问自己的几个问题。我想,看完这篇文章,你可能就会有自己的答案了。 1次10msGC和10次1ms的GC你会选择哪种?CMS收集器缺陷是什么?提高CMS的...
ListView 和 RecyclerView 的复用机制还是有很大的差异, ListView 的复用是两级缓存的,而 RecyclerView 是四级缓存,在这里参考了腾讯...
用SparseArray / ArrayMap 代替HashMap SparseArray: 如果key的类型已经确定为int类型,那么使用SparseArray,因为它避免...
LayoutInflater 顾名思义,就是解析 xml ,生成相应的 view 出来,在 activity 中我们可以 findviewbyid 获取到布局文件中的 vie...
虽然类名叫“稀疏数组”,但它其实非常“紧实”。这一篇将会通过分析SparseArray的源码来展现这个类的矛盾之处。 (ps: 下文中的 粗斜体字 表示引导源码阅读的内心戏)...
前言 HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多...
入门用法的传送门:https://www.jianshu.com/p/500abf06f447上篇我们简单讲解了一下okHttp的简单使用,这篇开始我们会从核心源码开始探究一...
这是RecyclerView缓存机制系列文章的第三篇,系列文章的目录如下: RecyclerView缓存机制(咋复用?) RecyclerView缓存机制(回收些啥?) Re...
在搞懂这个问题之前,我们最好先搞明白ListView和RecyclerView的实现原理,这里推荐两篇文章: 郭霖的《Android ListView工作原理完全解析》 曾志...
OkHttp的ConnectInterceptor连接拦截器剖析:https://www.jianshu.com/p/f90aa5894cdf连接池ConnectionPoo...
谈到Glide,从英文字面意思有滑行、滑动的意思;而Android从开发的角度我们知道它是一款图片加载框架,这里引用官方文档的一句话“Glide是一个快速高效的Android...
一.使用线程池的好处 a.降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。b.提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。c.提...
一、Android面试题 Android面试题包括Android基础,还有一些源码级别的、原理这些等。所以想去大公司面试,一定要多看看源码和实现方式,常用框架可以试试自己能不...
1. 简介 View的绘制过程分为三部分:measure、layout、draw。 measure用来测量View的宽和高。layout用来计算View的位置。draw用来绘...
1.前言 组件化 在Android开发的近几年来,已经由单纯编写代码的概念(工具类、第三方组件等等)迁移并应用于项目的架构上,而在应用项目架构过程中又演变出多种不同的实现方案...