上一篇讲了 Android 14/15 的适配,回到性能监控这个常青主题。卡顿是用户最直观的"烂体验",但怎么量化它?Choreographer 就是系统给的官方答案——理解它就能做精确的卡顿监控。 帧率 vs 流畅度 很多 App 显示"30/60 FPS"作为流畅度指标,但 FPS 高不代表不卡
上一篇讲了 Android Automotive,回到手机平台——Android 14/15 带来了大量新能力,也打破了不少兼容代码。这一篇把官方更新梳理一遍,重点是"哪些会影响你的 App"。 Android 14(API 34)的关键变化 1. 前台服务新规则 必须声明 type,否则启动 FG
上一篇讲了自定义 Gradle 插件,进入一个全新场景——车载开发。Android Automotive OS(AAOS)是 Google 推出的车机系统,和手机 Android 是不同形态:屏幕更大、交互靠触摸+语音+按键、无网络时也要能用。开发体验差别很大。 AAOS 是什么 AAOS 是给车载
上一篇讲了 AMS/WMS 系统服务,回到编译期生态——Gradle 插件是 Android 工程效率的底层能力。学会写自定义插件,能把团队里"人肉执行"的流程一键自动化。这一篇从 AGP 的字节码插桩 API 入手。 Gradle 插件的能力边界 Gradle 插件能做的事情:
上一篇讲了 Flutter 互操作,回到 Android 本体。这篇钻进系统服务——WMS 和 AMS。它们管理所有应用的生命周期和窗口,却 99% 的工程师没读过源码。读一次,理解力直接上台阶。 两个最忙的服务 AMS(Activity Manager Service)和 WMS(Window M
上一篇讲了热修复,这篇切换到跨平台——Flutter 如何调用 Android 原生能力。Flutter 的 UI 用 Dart 写,但 Android 平台能力(相机、蓝牙、分享、传感器)还是要靠原生。Platform Channel 就是桥接它们的双向通道。 为什么需要 Platform Cha
上一篇讲了 ASM 字节码插桩,这篇是它的实战应用——热修复。线上 App 出了 bug,难道只能等下个版本?热修复让用户无感知就修好。理解它的原理能让你对 Android 类加载、dex 机制有全新认识。 什么是热修复 线上 App 出现紧急 bug(崩溃、白屏、严重逻辑错误)时,无需发版,用户下
上一篇讲了 Kotlin 编译器插件能在源码层改代码,这篇说字节码层——ASM。性能监控、无埋点统计、热修复都靠它。比编译器插件暴力,但更底层、更稳定。 什么是字节码插桩 Java/Kotlin 编译完生成 .class 文件,里面是 JVM 字节码指令。插桩就是在编译产物上插入额外指令,比如: /
上一篇聊了代码质量保障,这篇钻进 Kotlin 编译器插件。Compose 的 @Composable、KSP 的 @Inject、Room 的 @Dao 都是编译器插件的产物。理解它,才能从"调 API"升级到"造 API"。 什么是 Kotlin 编译器插件 Kotlin 编译器分 Fronte
上一篇聊了 Lifecycle 源码,这篇聊聊代码质量保障工具链。代码质量不是靠 code review 人肉盯出来的,而是靠工具在 CI 和 IDE 层面拦截。Lint、ktlint、detekt 三件套配合好了,大部分低级问题在提交前就挡住了。 三种工具的分工