Kotlin中object和companion object 区别
概念:object声明(一个类)是延迟加载的,只有当第一次被访问时才会初始化,所以...
JDK Timer 实现原理分析
说明
本文分析的是 JDK 7
Timer 基本用法
public static void main(String[] a...
Netty原理分析
1. Netty简介
Netty是一个高性能、异步事件驱动的NIO框架,基于JAVA NIO提供的A...
应用测速组件
统计应用冷启动时长、页面渲染时长是APM系统不可缺少一个功能。Rabbit中这个功能...
Android OpenGLES 3.0 开发系统性学习教程
基础篇
OpenGL ES 3.0 开发(01):绘制一个三角形
OpenGL ES 3.0 开...
Kotlin 性能调优:您应该了解的 20 个最佳实践
性能是决定应用程序成败的关键指标。虽然 Kotlin 提供了大量功能来简化开发,但了...
ReentrantLock原理分析
ReentrantLock是Java并发包中提供的一个可重入的互斥锁,它拥有与synchronized...
Android启动流程
关于项目
BeesAndroid项目旨在通过提供一系列的工具与方法,降低阅读Android系...
用好 Require,check,assert,写好 Kotlin 代码
在编码的时候,我们需要做很多的检测判断,比如某个变量是否为null,某个成员...
Android ANR分析(trace文件的产生流程)
ANR信息获取(trace文件的产生流程)
首先收集需要dump trace的进程并给对应...
Android中的异步消息处理机制
这也是Android中老生常谈的一个话题了,它本身并不是很复杂,可是面试官比较喜欢...
插件守护进程模型
Replugin与VirtualApk很大的一个不同就是: 对于插件的管理,它支持单独开辟一个...
Android 基于Kotlin Flow实现一个倒计时功能
简单示例:
flow {
log("send hello")
emit("hello") //发送数据
...
RecyclerView的使用总结以及常见问题解决方案
本文是RecyclerView源码分析系列最后一篇文章, 主要讲一下我个人对于RecycleView...
Android线上bug 通过mapping文件找对应行号
App打包发布应用市场的时候正常点的一般都会加个混淆在打包丢上去吧
由于是线上...
Android设计模式源码解析之策略模式
1. 模式介绍
模式的定义
策略模式定义了一系列的算法,并将每一个算法封装...
如何使用AndroidStudio中的自带icon库
打开android studio 点击新建 这里有image asset 和vector asset
image asset是img...
深入理解Chromium的渲染机制
今天我们来聊一聊Chromium的渲染机制,这也是渲染机制系列的第二篇,最近大半年的...
Kotlin中空安全操作符,异常处理和自定义异常,以及先决条件函数详解
一、Kotlin的可空性
null 在java中我们司空见惯的空指针异常NullPointerExcep...

