Square 开源库全家桶:OkHttp、Retrofit、Moshi Square 开源库全家桶:OkHttp、Retrofit、Moshi Square 开源库全家桶:OkHttp、Retrofit、Moshi Square 这家公司在国内开发者社区里存在感不算特别高,但只要你写过几年 Android,几乎不可能没用过他们的库。OkHttp 作为 Android 4 2026-06-10 tool 1
Android 开发者官网的隐藏页面和工具 Android 开发者官网的隐藏页面和工具 Android 开发者官网的隐藏页面和工具 developer.android.com 这个域名,大部分开发者每天打交道的就是那几样:API 参考文档、Jetpack 库的版本说明、偶尔查查 Material Design 的规范。但 Google 在这个 2026-06-09 tool 0
Timber 日志库的扩展,比 Logcat 好在哪里 Timber 日志库的扩展,比 Logcat 好在哪里 「Timber 日志库的扩展,比 Logcat 好在哪里」 Timber 这个库在 Android 圈子里已经存在很久了,Jake Wharton 2013 年写的,到现在 GitHub 上快两万星,算是最稳的第三方日志工具之一。但很多人用 T 2026-06-08 tool 1
Linux 下 Android 开发的环境配置指南 Linux 下 Android 开发的环境配置指南 Linux 下 Android 开发的环境配置指南 Android Studio 官方支持 Linux 已经不是什么新鲜事,但真要在 Linux 上把 Android 开发环境配到顺手,中间要踩的坑远比 Windows 和 macOS 多。去年我把 2026-06-08 tool 4
SQLDelight 的类型安全 SQL,在 Android 项目中的使用 SQLDelight 的类型安全 SQL,在 Android 项目中的使用 「SQLDelight 的类型安全 SQL,在 Android 项目中的使用」 从 Room 的编译期焦虑说起 去年维护一个老项目时,我遇到过一个典型的 Room 痛点。需求很简单:给查询加个 LIMIT 参数,让用户能分页 2026-06-06 tool 2
Dagger 到 Hilt 的迁移检查清单 Dagger 到 Hilt 的迁移检查清单 「Dagger 到 Hilt 的迁移检查清单」 Hilt 发布已经四年多了,但直到今天,我打开 GitHub 上那些 2018 年以前创建的 Android 项目,Dagger 的 @Component 和 @Module 依然随处可见。迁移不是不想做,而 2026-06-06 tool 8
Coil 和 Glide 的加载性能对比数据 Coil 和 Glide 的加载性能对比数据 Coil 和 Glide 的加载性能对比数据 从一个真实的 ANR 开始 去年维护的一个社交类 App 开始频繁上报 Input dispatching timed out 类型的 ANR,堆栈信息集中在图片加载环节。当时用的是 Glide 4.14.2 2026-06-04 tool 7
Jacoco 覆盖率报告的配置与解读 Jacoco 覆盖率报告的配置与解读 Jacoco 覆盖率报告的配置与解读 一个被忽略的质量信号 去年维护一个老项目时,我遇到了一个典型的场景:CI 流水线里跑完测试,Jacoco 报告生成成功,覆盖率 87%,团队觉得挺满意。但线上还是出了 NPE,堆栈指向的代码路径在测试里明明"覆盖"到了。追查 2026-06-03 tool 3
IntelliJ IDEA 社区版开发 Android 的可行性 IntelliJ IDEA 社区版开发 Android 的可行性 IntelliJ IDEA 社区版开发 Android 的可行性 Android Studio 是基于 IntelliJ IDEA 社区版构建的,这个常识几乎写在每个 Android 开发者的基因里。但反过来问:能不能直接用 Inte 2026-06-02 tool 5
我收集的性能优化资料和工具链 我收集的性能优化资料和工具链 我收集的性能优化资料和工具链 Android 性能优化这个领域有个特点:官方文档永远滞后于实际需求,社区里的经验贴又往往停留在"打开 Profile GPU Rendering 看看红条"这种层面。过去五年里我陆陆续续攒了一些真正在生产环境验证过的工具、文档和调试思路, 2026-05-29 tool 9