Room 的 FTS 全文搜索,比 SQLite LIKE 快多少 Room 的 FTS 全文搜索,比 SQLite LIKE 快多少 Room 的 FTS 全文搜索,比 SQLite LIKE 快多少 从一个真实的卡顿问题说起 去年维护一个本地笔记应用,用户数据量上来之后,搜索界面开始掉帧。问题很典型:用户在搜索框输入关键词,RecyclerView 实时过滤展示 2026-05-30 Android 2
Flutter 和 Compose 现在的真实竞争格局 Flutter 和 Compose 现在的真实竞争格局 Flutter 和 Compose 现在的真实竞争格局 Compose 1.0 正式发布的时候,Google 搞了个挺隆重的线上发布会,我在 YouTube 上看直播,弹幕里有人刷 "Flutter killer 来了"。那是 2021 年 7 2026-05-30 随笔 2
我收集的性能优化资料和工具链 我收集的性能优化资料和工具链 我收集的性能优化资料和工具链 Android 性能优化这个领域有个特点:官方文档永远滞后于实际需求,社区里的经验贴又往往停留在"打开 Profile GPU Rendering 看看红条"这种层面。过去五年里我陆陆续续攒了一些真正在生产环境验证过的工具、文档和调试思路, 2026-05-29 tool 5
国内安卓厂商的推送联盟,到底救活了没有 国内安卓厂商的推送联盟,到底救活了没有 国内安卓厂商的推送联盟,到底救活了没有 推送这件小事,怎么就成了安卓中国的绝症 国内安卓生态有个老笑话:你的 App 明明已经杀了后台,凌晨三点它还是能爬起来给你推一条"您关注的商品降价了"。这不是什么黑科技,是厂商自己的推送通道在搞鬼——但换个 App,同样 2026-05-29 随笔 1
Android 15 预测性返回手势,我试了一下 Android 15 预测性返回手势,我试了一下 Android 15 预测性返回手势,我试了一下 Android 15 在 2024 年 9 月正式发布,预测性返回手势(Predictive Back Gesture)从开发者选项里的实验性功能变成了系统默认行为。这个特性最早在 Android 1 2026-05-29 Android 4
Gradle 构建慢的问题,有人找到了新解法 Gradle 构建慢的问题,有人找到了新解法 「Gradle 构建慢的问题,有人找到了新解法」 从那个熟悉的 coffee break 说起 每个 Android 开发者都经历过这种时刻:按完 Run 键,看着 Gradle 进度条开始蠕动,然后起身去接水、上厕所、跟同事寒暄一圈回来,发现还在 "R 2026-05-28 随笔 5
Dynamic Feature Module 上线一年后的真实体验 Dynamic Feature Module 上线一年后的真实体验 「Dynamic Feature Module 上线一年后的真实体验」 去年 Q2 我们把一个 28MB 的安装包拆成了 base + 3 个 dynamic feature module,当时团队内部的预期很乐观:用户冷启动只下载 2026-05-28 Android 2
这几个 GitHub 仓库,帮我省了不少时间 这几个 GitHub 仓库,帮我省了不少时间 这几个 GitHub 仓库,帮我省了不少时间 从一次 CI 崩溃说起 去年维护一个老项目时,我们的 GitHub Actions 流水线突然开始随机失败。错误日志很干净,没有任何 stack trace,只有一行 "Process completed w 2026-05-28 tool 1
Compose Multiplatform 真的能用吗?踩坑记录 Compose Multiplatform 真的能用吗?踩坑记录 Compose Multiplatform 真的能用吗?踩坑记录 从一次失败的 Demo 开始 去年十月份,手边一个内部工具需要同时支持 Android 和桌面端。团队里就我一个 Android 开发,再招一个 Desktop 的人不 2026-05-27 Android 2
某大厂 App 又崩了,根因可能不是你想的那样 某大厂 App 又崩了,根因可能不是你想的那样 某大厂 App 又崩了,根因可能不是你想的那样 从一次典型的"服务异常"说起 今年三月份,某头部电商 App 在晚间流量高峰时段出现了大规模服务不可用,用户反馈集中在商品详情页加载失败、购物车结算异常、优惠券无法领取几个场景。官方事后给出的公告是"部分 2026-05-27 随笔 2