Android 技术文章归档

Bitmap 为什么容易导致 OOM?Android 图片内存模型入门

解释 Bitmap 内存占用、Java 堆与 Native 堆差异、Hardware Bitmap、采样压缩和图片加载优化。

Compose 为什么会频繁重组?从 Stability 到状态读取位置

解释 Jetpack Compose 频繁重组的常见原因,包括不稳定参数、状态读取位置、derivedStateOf 误用和列表项设计。

DataStore 和 SharedPreferences 应该怎么选?

对比 SharedPreferences、Preferences DataStore 和 Proto DataStore 的适用场景、线程模型、类型安全和迁移策略。

Glance 和 RemoteViews 有什么区别?

解释 Android Glance AppWidget 与 RemoteViews 的关系、差异、适用场景和迁移判断。

Paging3 RemoteMediator 适合什么场景?

解释 Paging3 RemoteMediator 的定位、网络数据库分页协作、缓存优先列表和常见错误用法。

RecyclerView 四级缓存是哪四级?从复用链路理解列表性能

解释 RecyclerView 四级缓存、ViewHolder 复用顺序、RecycledViewPool 和 Prefetch 对滑动性能的影响。

Room 返回 Flow 为什么能自动更新?

解释 Room、InvalidationTracker、SQLite 表变更通知与 Kotlin Flow 自动重新查询机制。

深入 Android AGSL RuntimeShader 全链路:从 Skia 着色器编译到 Compose 自定义图形特效

本文深入剖析 Android AGSL RuntimeShader 的完整编译链路(AGSL→SkSL→GPU),详解 uniform shader 嵌套采样机制、Compose 两种集成方式及实战案例,并总结性能边界与工程实践建议。

深入 Android Glance AppWidget 全链路:从 RemoteViews 渲染桥接到 Compose 声明式小组件的架构演进与更新策略

本文深入剖析 Android Glance AppWidget 的完整技术链路,从 RemoteViews 跨进程渲染机制到 Glance 翻译引擎的设计原理,涵盖声明式 UI 构建、Actions 交互处理、跨进程更新流程及更新策略选型。

深入 Android 16 KB 内存页对齐全链路:从 ELF 加载对齐到 NDK 编译适配与性能验证

Android 15 起系统与 Play Store 同步推进 16 KB 页迁移,本文从 ELF 段对齐原理、动态链接器影响、NDK 编译适配到 TLB 性能验证,给出从编译参数到 CI 门禁的完整迁移路线。

深入 Kotlin 类型安全构建器与 DSL 设计全链路

从 Compose 嵌套编译报错出发,深入解析 Kotlin DSL 的类型安全设计核心——lambda with receiver、@DslMarker 作用域控制,涵盖 Compose、Gradle KTS 与自定义 DSL 全链路实战。

Android Fragment 生命周期与 FragmentManager 深度解析:从事务队列到状态恢复的全链路

深入解析Fragment事务异步执行机制、回退栈状态恢复原理及ViewModel生命周期协同,涵盖commitNow、onSaveInstanceState时机等实战陷阱,帮助开发者避免NPE与内存泄漏。

深入 Android Macrobenchmark 性能基准测试全链路

介绍 Android Macrobenchmark 性能基准测试的全链路落地:冷启动度量、帧流畅度监控、自定义 Trace 指标及 CI 防劣化流水线搭建。

Android 动态模块化交付全链路:从 App Bundle 构建到 SplitCompat 运行时加载的按需分发架构

深入解析 Android 动态模块化交付全链路,涵盖 App Bundle 构建拆分、SplitCompat ClassLoader 注入机制、Play Feature Delivery 按需分发,以及包体积优化的实战踩坑与收益。

Android 热修复原理与工程实践:从 ClassLoader 类替换机制到 Tinker 差分补丁的线上急救全链路

深入解析 Android 热修复核心原理,从 ClassLoader 类替换机制到 Tinker 差分补丁,涵盖兼容性陷阱与百万级 App 工程实践。

深入 Android 架构模式演进:从 MVC 的混乱到 MVI 单向数据流在 Compose 中的声明式架构实践

本文梳理 Android 架构模式从 MVC、MVP、MVVM 到 MVI 的演进,剖析各阶段核心痛点,分享 Compose 下 MVI 单向数据流的落地实践与避坑经验。

深入 Android 配置变更全链路解析:从 Activity 销毁重建到 ViewModel 跨旋转存活的技术内幕

从 ActivityThread 源码出发,深入解析 Android 配置变更引发的 Activity 销毁重建全链路,揭示 ViewModel 跨旋转存活的 NonConfigurationInstances 保留机制及其与 SavedStateHandle 的本质区别。

Android App Links 深度解析:从 Digital Asset Links 域名验证到 Intent 路由分发的 Web-to-App 全链路工程实践

本文系统梳理 Android App Links 的完整接入链路:从 Digital Asset Links 双向信任模型、系统自动验证机制,到多场景路由差异处理与调试工具箱,分享签名配置、跨域验证、Chrome 行为差异等实际踩坑经验。

StrictMode 从开发辅助到 CI 质量门禁的实践

分享将 StrictMode 从调试工具升级为 CI 质量门禁的实践,涵盖 BlockGuard 拦截机制、JSON 结构化输出与线上软拦截方案。

Android 组件化模块间通信:从路由表到 SPI 服务发现

深入分析 Android 组件化模块间通信的两种方案:路由表与接口下沉(SPI 服务发现),涵盖实现原理、实战决策与选型指南。