Android 深度技术笔记与工程化实践

聚焦 Android Framework、性能优化、Jetpack Compose、Kotlin 协程、端侧 AI、CI/CD 与移动端架构治理,把源码链路、工程经验和排障方法整理成可检索的知识库。
专题索引
Android Framework
Binder、系统服务、进程线程、权限、ContentProvider 与 Framework 交互链路。
Android 性能优化
冷启动、渲染、内存、Bitmap、Perfetto、Macrobenchmark 与稳定性治理。
Jetpack Compose
重组、Stability、Modifier、手势、动画、Glance 与 View 互操作。
Kotlin 与协程
Coroutine、Flow、StateFlow、SharedFlow、K2 编译器与跨平台工程。
Android 端侧 AI
Gemini Nano、AICore、NNAPI、端侧 LLM、RAG、多模态推理与模型治理。
移动端工程化
CI/CD、测试、Gradle 构建、模块化、架构演进与团队协作。
AI 开发工具
Codex、提示词工程、Ollama、OpenClaw 与 AI Agent 工程实践。
Projects
Magic English Buddy
离线优先的儿童英语学习伙伴,通过游戏化地图、Buddy 养成、分级阅读与挑战机制提升英语启蒙兴趣与学习留存。
View Project
xckevin.github.io
基于 Astro 5 构建的个人网站与博客,支持博客与项目展示、标签归档、RSS、评论和 GitHub Pages 自动部署。
View Project
Writing
Native/H5 路由灰度切换:用 RedirectRouterInterceptor 实现零风险页面迁移
同一入口存在 Native 和 H5 两种实现时,如何在路由层安全地灰度切换?本文介绍 RedirectRouterInterceptor 的通用设计,通过远程配置控制落点,配合稳定散列、参数映射、兜底策略和结构化监控,让 Native 新页面平滑上线,异常时快速回滚。
Read Post
SmartDependency 源码/AAR 双模式依赖体系:让模块化工程既快又稳
在大型 Android 工程中,模块数量增长后依赖方式直接影响研发效率。本文介绍一种源码/AAR 双模式依赖体系,通过统一注册、配置切换、版本治理和 CI 约束,让开发者按需打开源码模块,同时保证发布时回归二进制真实形态。
Read Post
动态 Launcher Icon 与启动入口切换:换图标背后的工程治理
动态 Launcher icon 看似只调用一次 PackageManager,实际却涉及 Manifest 声明、状态机、回退策略、桌面兼容和灰度控制。本文介绍一种通用的动态启动入口切换方案,讲清楚为什么"换图标"的能力需要完整的入口状态管理设计。
Read Post
启动框架分阶段初始化:background/activity 两类 StartType 的设计与实践
App 启动阶段承载大量初始化逻辑,如果全部堆在 Application 中,冷启动耗时不可控。本文介绍一种分阶段初始化框架,将任务按 background 和 activity 两类 StartType 拆分,配合依赖声明、线程调度、异常降级和耗时监控,让初始化在正确时间完成必要工作。
Read Post
图片加载稳定性实战:自定义 SSL 确认与 DoH DNS 双管齐下
移动端图片加载看似简单,但用户看到的头像不显示、内容图片灰块、首屏瀑布流空白,背后往往是证书链校验失败、DNS 被污染、运营商局部解析异常等问题。本文介绍图片网络层的两项稳定性增强:自定义 SSL 确认和 DoH DNS 解析。
Read Post
图片加载统一门面:用 ImageUrlProcessor 动态裁剪与门面模式告别混乱的图片代码
图片加载是移动端体验的基础能力,但如果每个页面都直接调用底层库,URL 拼接规则、尺寸参数、预加载逻辑就会散落全项目。本文介绍一种图片加载统一门面设计,通过 ImageUrlProcessor 集中处理动态裁剪,配合门面接口、预加载调度和监控,让业务只关心展示意图。
Read Post
字节码 try-catch 插桩治理第三方 Crash:用 hookPoint 精准止血
第三方 SDK 的 crash 无法通过源码修复时,字节码 try-catch 插桩是一种工程止血手段。本文介绍 hookPoint 配置驱动的通用方案:如何在编译阶段精确命中目标方法,包裹保护逻辑,捕获非致命异常并上报,同时避免掩盖真实问题。
Read Post
异步 Inflate 管理器:用线程池预加载与安全回退加速首帧渲染
Android 页面首帧耗时不只来自网络和图片,复杂 XML 布局在主线程的 inflate 过程同样不可忽略。本文介绍一种异步 Inflate 管理器设计,通过线程池提前创建 View,用 MutableContextWrapper 替换上下文保证安全,失败时自动回退到 UI 线程同步 inflate。
Read Post
截屏检测与支持浮层:在用户最想求助的时刻提供入口
用户遇到问题时最自然的动作之一是截屏。本文介绍一种截屏检测与支持浮层设计,覆盖系统媒体监听、去抖策略、隐私保护、浮层触发和反馈链路闭环,把"用户准备离开应用去求助"的瞬间转化为站内反馈入口。
Read Post
深入 Compose Multiplatform 桌面端实战:从 JVM 窗口管理到平台互操作的跨桌面 UI 工程全链路
从 Electron 迁移到 Compose Desktop 的实战复盘,覆盖 JVM 窗口系统、菜单栏、拖拽、系统托盘、平台互操作及打包分发全链路,启动速度提升 60%,内存降低 70%,适合 Android/Kotlin 团队构建桌面工具。
Read Post