剑指面试
Android 高级开发大小厂实战面经汇总,包括但不限于 Java 、Android 、Kotlin 、Flutter、算法、计算机网络、项目经验等。持续更新 ing。
Chittyo
Stay hungry,Stay foolish。
展开
-
DiskLruCache 的使用及源码解析
DiskLruCache 用于实现存储设备缓存,即磁盘缓存,它通过将缓存对象写入文件系统从而实现缓存的效果。DiskLruCache 得到了 Android 官方文档的推荐,但它不属于 Android SDK 的一部分,它的源码及网址文末会贴出来。下面分别从 DiskLruCache 的创建、缓存查找和缓存添加这三个方面来介绍 DiskLruCache 的使用方式。原创 2020-11-11 15:41:18 · 2711 阅读 · 5 评论 -
LruCache 的使用及源码解析
常用的三级缓存主要是指 LruCache、DiskLruCache、网络,其中 LruCache 对应内存缓存、DiskLruCache 对应磁盘缓存。LRU 全称是 Least Recently Used,即最近最少使用策略,意思是当缓存到达限制时候,优先淘汰近期内最少使用的缓存,LruCache 和 DiskLruCache 都是采用 LRU 策略。比如说 Android 中常来缓存 Bitmap,我们先从 LruCache 中取,取不到再从 DiskLruCache 中取,也取不到的话,最后才从数据源原创 2020-10-27 16:20:21 · 2247 阅读 · 8 评论 -
Java 中的 String、StringBuilder、StringBuffer 的区别
一、是什么?String 不可变字符序列String 是字符串常量,其对象一旦创建之后该对象是不可更改的, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成新对象都会开辟新的内存空间,不仅占用大量内存空间,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度一定是相当慢的,对系统性能产生影响。String 这个类很特殊,特殊在于原创 2020-10-22 12:05:10 · 2259 阅读 · 7 评论