KMP 跨平台共享代码,现在能共享多少 KMP 跨平台共享代码,现在能共享多少 KMP 跨平台共享代码,现在能共享多少 从一条 Gradle 配置说起 去年秋天我在一个老项目里尝试接入 Kotlin Multiplatform,起因很实际:Android 端有一套复杂的离线同步逻辑,大概八千行 Kotlin 代码,iOS 团队用 Swif 2026-06-13 随笔 0
Bugsnag 的错误聚合分析,堆栈可读性 Bugsnag 的错误聚合分析,堆栈可读性 Bugsnag 的错误聚合分析,堆栈可读性 从一次 Native Crash 的排查说起 去年维护一个包含大量 C++ 代码的 Android 项目时,我遇到了一个让人头疼的问题。线上 Firebase Crashlytics 报告显示某类崩溃发生了 12 2026-06-13 tool 1
CountDownLatch 和 CyclicBarrier,并发工具怎么选 CountDownLatch 和 CyclicBarrier,并发工具怎么选 「CountDownLatch 和 CyclicBarrier,并发工具怎么选」 去年维护一个埋点上报模块的时候,我踩了个坑。场景很简单:App 启动时需要并行拉取三个配置项(AB 实验、远程开关、运营弹窗),全部完成后才 2026-06-13 Android 0
MediaStore 的日期查询索引,为什么有时候会慢 MediaStore 的日期查询索引,为什么有时候会慢 MediaStore 的日期查询索引,为什么有时候会慢 去年维护一个相册应用时,我接手了一个历史遗留的查询优化任务。用户反馈在照片数量超过两万张后,按日期浏览的加载时间从毫秒级跌到了秒级,甚至偶尔触发 ANR。初步排查时,我本能地怀疑是 Rec 2026-06-13 Android 0
C++ 和 Kotlin 的互操作,JNI 封装技巧 C++ 和 Kotlin 的互操作,JNI 封装技巧 C++ 和 Kotlin 的互操作,JNI 封装技巧 JNI 这玩意,Android 开发者都绕不开。Native 层有现成的 C++ 库要复用,或者性能敏感场景必须下到底层,总得打交道。但 JNI 的原始 API 写起来太折磨人了——FindC 2026-06-13 tool 0
远程工作对 Android 团队的影响,协作效率真的降了吗 远程工作对 Android 团队的影响,协作效率真的降了吗 远程工作对 Android 团队的影响,协作效率真的降了吗 一个被忽视的观察:Android Studio 的版本节奏变了 2020 年 3 月,Google 宣布全员远程办公。差不多同一时期,Android Studio 4.0 进入稳定 2026-06-13 随笔 0
Fuchsia 系统的进度,Android 会被替代吗 Fuchsia 系统的进度,Android 会被替代吗 Fuchsia 系统的进度,Android 会被替代吗 那个 2016 年 GitHub 上突然冒出来的神秘仓库 2016 年 8 月,有人注意到 Google 的 GitHub 组织里出现了一个叫 fuchsia 的仓库,没有 README, 2026-06-11 随笔 1
AccessibilityService 的滥用检测,现在的限制有多严 AccessibilityService 的滥用检测,现在的限制有多严 AccessibilityService 的滥用检测,现在的限制有多严 从一次上架被拒说起 去年帮一个做效率工具的朋友处理 Google Play 上架问题,应用核心功能是自动填充表单,底层依赖 AccessibilitySer 2026-06-11 Android 3
Scrcpy 的投屏控制,开发者调试神器 Scrcpy 的投屏控制,开发者调试神器 Scrcpy 的投屏控制,开发者调试神器 从一次真机调试的崩溃说起 去年维护一个视频播放器项目时,我遇到了一个只在特定机型复现的 Surface 渲染异常。手头那台测试机屏幕碎了一半,触控层时灵时不灵,USB 调试倒是开着。当时我的调试流程是:插线、adb 2026-06-11 tool 3
Square 开源库全家桶:OkHttp、Retrofit、Moshi Square 开源库全家桶:OkHttp、Retrofit、Moshi Square 开源库全家桶:OkHttp、Retrofit、Moshi Square 这家公司在国内开发者社区里存在感不算特别高,但只要你写过几年 Android,几乎不可能没用过他们的库。OkHttp 作为 Android 4 2026-06-10 tool 3