Intent 的 FLAG_ACTIVITY_CLEAR_TOP 与 singleTask,任务栈清理的坑 Intent 的 FLAG_ACTIVITY_CLEAR_TOP 与 singleTask,任务栈清理的坑 「Intent 的 FLAG_ACTIVITY_CLEAR_TOP 与 singleTask,任务栈清理的坑」 一个线上崩溃引出的问题 去年维护的一个项目,线上收到一条很奇怪的崩溃栈:Ille 2026-06-21 Android 6
App Startup 库真的能优化启动吗,实测数据 App Startup 库真的能优化启动吗,实测数据 App Startup 库真的能优化启动吗,实测数据 从一个真实的启动崩溃说起 去年下半年我在处理一个线上启动崩溃时,第一次认真审视了 App Startup 这个库。当时的问题是:我们在 Application.onCreate 里初始化了一个 2026-06-21 Android 7
Compose 的副作用 API:LaunchedEffect、DisposableEffect、SideEffect 到底什么时候用 Compose 的副作用 API:LaunchedEffect、DisposableEffect、SideEffect 到底什么时候用 Compose 的副作用 API:LaunchedEffect、DisposableEffect、SideEffect 到底什么时候用 从一个内存泄漏说起 去年维护 2026-06-18 Android 8
StorageManager 的存储空间查询,Scoped Storage 后的 API StorageManager 的存储空间查询,Scoped Storage 后的 API 「StorageManager 的存储空间查询,Scoped Storage 后的 API」 Android 10 引入 Scoped Storage 的时候,大多数开发者都在关注文件读写权限怎么改、Media 2026-06-17 Android 4
RecyclerView 的 ConcatAdapter,不同布局类型的合并实践 RecyclerView 的 ConcatAdapter,不同布局类型的合并实践 RecyclerView 的 ConcatAdapter,不同布局类型的合并实践 RecyclerView 的多类型布局一直是个老话题。从早期在单个 Adapter 里写一堆 getItemViewType() 的 s 2026-06-16 Android 12
ActivityResultContracts 替代 startActivityForResult,迁移成本 ActivityResultContracts 替代 startActivityForResult,迁移成本 ActivityResultContracts 替代 startActivityForResult,迁移成本 那个被标记为废弃的 API AndroidX Activity 1.2.0 开始 2026-06-15 Android 11
Room 的多表关联查询,@Relation 的 N+1 问题 Room 的多表关联查询,@Relation 的 N+1 问题 「Room 的多表关联查询,@Relation 的 N+1 问题」 去年维护一个本地缓存模块的时候,我踩到了 Room 的 @Relation 注解埋下的一个性能坑。当时的需求不算复杂:一个新闻 App 的离线阅读功能,文章表和标签表多 2026-06-15 Android 8
CountDownLatch 和 CyclicBarrier,并发工具怎么选 CountDownLatch 和 CyclicBarrier,并发工具怎么选 「CountDownLatch 和 CyclicBarrier,并发工具怎么选」 去年维护一个埋点上报模块的时候,我踩了个坑。场景很简单:App 启动时需要并行拉取三个配置项(AB 实验、远程开关、运营弹窗),全部完成后才 2026-06-13 Android 6
MediaStore 的日期查询索引,为什么有时候会慢 MediaStore 的日期查询索引,为什么有时候会慢 MediaStore 的日期查询索引,为什么有时候会慢 去年维护一个相册应用时,我接手了一个历史遗留的查询优化任务。用户反馈在照片数量超过两万张后,按日期浏览的加载时间从毫秒级跌到了秒级,甚至偶尔触发 ANR。初步排查时,我本能地怀疑是 Rec 2026-06-13 Android 7
AccessibilityService 的滥用检测,现在的限制有多严 AccessibilityService 的滥用检测,现在的限制有多严 AccessibilityService 的滥用检测,现在的限制有多严 从一次上架被拒说起 去年帮一个做效率工具的朋友处理 Google Play 上架问题,应用核心功能是自动填充表单,底层依赖 AccessibilitySer 2026-06-11 Android 25