CopyOnWriteArrayList实现原理及源码分析
CopyOnWriteArrayList是Java并发包中提供的一个并发容器,它是个线程安全且读...
设计模式之责任链模式
责任链模式
责任链模式(Chain of Responsibility Pattern)
责任链模式将链...
Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解
1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
MyBatis框架及原理分析
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要...
LeakCanary原理分析
概述
LeakCanary是一个开源的内存泄漏检测库,极大简化了内存泄漏的检测流程。...
android源代码下载
Android 源代码树位于由 Google 托管的 Git 代码库中。Git 代码库中包含 Andro...
Kotlin中扩展函数、infix关键字、apply函数和DSL的详解
一、扩展函数
定义扩展函数扩展可以在不直接修改类定义的情况下增加类功能,扩...
线程池的原理分析
线程使用上的问题
new Thread().start();
线程的频繁创建和销毁
线程的数...
macos上android ffmpeg编译与使用
本篇介绍
本篇介绍下如何在macos上编译android的ffmpeg,并在android工程中使...
JNI 编程上手指南之 HelloWorld 实战
JNI 编程是高级/专家 Android 开发的必备技能之一,接下来我们就一步一步掌握 JNI...
Java SPI原理与源码分析
Java SPI原理与源码分析
概述
SPI是Service Provider Interface的缩写,jdk...
RecyclerView的使用总结以及常见问题解决方案
本文是RecyclerView源码分析系列最后一篇文章, 主要讲一下我个人对于RecycleView...
android RecyclerView的使用总结以及常见问题解决方案
RecyclerView使用常见的问题和需求
RecycleView设置了数据不显示
这个往往...
android java和kotlin语法对比
java和kotlin语法对比
kotlin 集合 : any/none/all
any : 是否至少有一个
/**
* 是否有(符合条件的)元素
*/
private fun any() {...
android平台架构图
Android 是一种基于 Linux 的开放源代码软件栈,为广泛的设备和机型而创建

