深入理解JVM垃圾收集机制
程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的...
Android 面试之必问Android基础
1,Activity
1.1 生命周期
正常情况系,Activity会经历如下几个阶段:
onCrea...
Kotlin内联函数inline、noinline、crossinline
高阶函数
首先来看下kotlin里的高阶函数定义:如果一个函数接收另一个函数作为...
LeakCanary原理分析
概述
LeakCanary是一个开源的内存泄漏检测库,极大简化了内存泄漏的检测流程。...
Android OpenGLES 3.0 开发系统性学习教程
基础篇
OpenGL ES 3.0 开发(01):绘制一个三角形
OpenGL ES 3.0 开...
kotlin:引子约定plus约定invoke约定 & in约定 & range约定
引子
假设女生的择偶标准如下:未婚且岁数比我大,如果对方是本地帅哥...
ViewPager2获取Item的View
1.在写ViewPager2的ViewHolder的时候给ItemView设置tag为当前的ViewHolder
pub...
Android设计模式源码解析之模板方法模式
1. 模式介绍
模式的定义
定义一个操作中的算法的框架,而将一些步骤延迟到...
Android组件化架构 – 6. 权限管理
权限的目的
权限设立的目的是保护安全
权限机制
系统权限分三种:
Android所有者...
Android | View.post 到底是在什么时候执行的?
前言
相信绝大部分人都使用过 view.post这个方法,且使用场景基本上都是用来获...
Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解
1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
ApplicationListener原理分析
在 Nacos配置服务原理 文中结束时提到过通过发布 ApplicationListener 刷新事...
Android开发代码的规范
开发代码的规范
重学Java系列-1. GC原理 & 垃圾回收算法
GC原理
GC即垃圾收集,追踪仍然使用的所有对象,并将其余对象标记为垃圾然后进...
Android性能优化建议
磁盘
SharedPreferences
我们知道SharedPreferences底层是使用xml文件来实...
Java SPI原理与源码分析
Java SPI原理与源码分析
概述
SPI是Service Provider Interface的缩写,jdk...
ANDROID进程系统:进程的创建、启动与调度流程
文章目录
一 进程的创建与启动流程
二 进程的优先级
三 进程的调度流程...
代码规范-对抗软件复杂度
1、为什么需要代码规范
任何系统性的项目都需要架构设计,而架构设计的核心命题...
用好 Require,check,assert,写好 Kotlin 代码
在编码的时候,我们需要做很多的检测判断,比如某个变量是否为null,某个成员...