buildSrc
1.项目根目录下新建一个名为 buildSrc 的文件夹
image.png
2.在 buildSrc 文...
Android Jetpack系列
Android Jetpack介绍
Foundation:基础
Architecture:体系结构
UI:视觉交互
B...
Guava 源码分析(Cache 原理)
前言
Google 出的 Guava 是 Java 核心增强的库,应用非常广泛。
我平时用的也...
算法题 – 最小覆盖子串
今天我们看一道 leetcode hard 难度题目:最小覆盖子串。
题目
给你一个字...
Android组件化架构 – 6. 权限管理
权限的目的
权限设立的目的是保护安全
权限机制
系统权限分三种:
Android所有者...
Kotlin 进阶 | 不变型、协变、逆变子类型泛型中的子类型不变型协变逆变PECS 原则 & POCI 原则类型投影推荐阅读
引入泛型之后,子类型的概念变得复杂,好不容易用刚学会的泛型定义了方法,用起...
Android OpenGLES 3.0 开发系统性学习教程
基础篇
OpenGL ES 3.0 开发(01):绘制一个三角形
OpenGL ES 3.0 开...
ConcurrentHashMap原理分析
背景
ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代...
IO、NIO、AIO 内部原理分析
相关文章
NIO 之 Selector实现原理
NIO 之 Channel实现原理
NIO 之 ByteBuffer...
Android Handler异步通信:深入详解Handler机制源码
前言
在Android开发的多线程应用场景中,Handler机制十分常用
今天,我将...
Android View体系(坐标,滑动,分发,绘制)
坐标系
Android中有两种坐标系,Android坐标系和视图坐标系
Android坐标系
...
android RecyclerView的基本设计结构
下面这张图是我截取的RecyclerView的Structure:
本文着重看: ViewHolder、...
JNI 编程上手指南之从内存角度再看引用类型
1. Java 程序使用的内存
Java 程序使用的内存从逻辑上可以分为两个部分:
...
[源码分析]ViewGroup.addView导致宽高失效问题
开发中,相信经常会使用到inflater动态生成并加载View,例如:
View v = infla...
线上内存泄漏排查思路
内存泄漏排查
背景了解:告知 线上 room_work 运行一段时间内存就会慢慢往上涨,8G...
android源代码下载
Android 源代码树位于由 Google 托管的 Git 代码库中。Git 代码库中包含 Andro...
原生AspectJ用法分析以及Spring-AOP原理分析
前言
前两天看了一些关于spring aop以及AspectJ的文章,但是总是感觉非常的...
Android中的线程Thread
线程原理
线程创建
线程是比进程更加轻量级的调度单位,线程的引入可以把进...
Kotlin | 使用vararg可变参数
背景
一般在项目开发中,我们经常会在关键节点上埋点,而且埋点中会增加一些额...