算法 – 二叉树
二叉树是一种数据结构,并且拥有种类复杂的分支,本文作为入门篇,只介绍一些...
插件Service的运行管理
Service启动的大体流程
我们从ContextImpl.startService()开始看。 为什么从这...
Android高手笔记-D8, R8编译优化
在之前的文章Android高手笔记-包体积优化中提到过通过编译优化包体积,涉及到了P...
协程 Kotlin Coroutine 初探
协程 kotlin Coroutine
目录:
1. Coroutine 的基本使用
1.1 小结
2. CoroutineSco...
插件守护进程模型
Replugin与VirtualApk很大的一个不同就是: 对于插件的管理,它支持单独开辟一个...
现代化 Android 开发:Jetpack Compose 最佳实践为何要选择 Compose Compose 的思想Compose 性能最佳实践最后
本文为现代化 Android 开发系列文章第六篇。
完整目录为:
现代化 Android ...
GapWorker导致RecyclerView视频播放声音残留问题
场景描述
App 有两个tab,每一个都是Fragment,以FragmentA和FragmentB 代称...
历时1年,上百万行代码!首次揭秘手淘全链路性能优化
简介: 下面,我们一起来看手淘团队在性能优化过程中的一些思考和实践。
...
抖音 Android 包体积优化探索:资源二进制格式的极致精简
前言
目前,安卓端对于包体积的优化方案已经多如过江之鲫,我们系列的上一篇文章...
android设置tablayout下划线长度代码
设置tablayout下划线长度的方法
Android设计模式源码解析之命令模式
1. 模式介绍
模式的定义
将一个请求封装成一个对象,从而使你可用不同的请...
Android 系统 Bar 沉浸式完美兼容方案
引言
自 Android 5.0 版本,Android 带来了沉浸式系统 bar(状态栏和导航栏),...
android NDK JNI so文件的制作和使用
之前也接触过NDK和JNI,但是并没有很好的结合NDK和JNI来总结关于so文件的制作和使...
Java程序运行原理分析
class文件内容
class文件包含Java程序执行的字节码
数据严格按照格式紧凑...
Jetpack系列-ViewBinding和kotlin-android-extensions对比
1 ViewBinding
1.1 介绍
ViewBinding就是视图绑定,通过视图绑定功能,可以...