MAT 工具分析堆转储,定位内存泄漏 MAT 工具分析堆转储,定位内存泄漏 「MAT 工具分析堆转储,定位内存泄漏」 去年维护一个内容型 App 时,线上 Firebase 突然连续报出 OutOfMemoryError,堆栈集中在 java.lang.OutOfMemoryError: Failed to allocate a 524 2026-08-31 tool 0
Firebase 免费额度够用吗,超出后多少钱 Firebase 免费额度够用吗,超出后多少钱 Firebase 免费额度够用吗,超出后多少钱 很多独立开发者第一次接触 Firebase,都是被控制台上那个硕大的"免费开始使用"按钮吸引进去的。Spark 计划(也就是免费档)在文档里的呈现方式极具亲和力——Firestore 每日五万次读取、Au 2026-08-31 tool 0
Moshi 的代码生成,KSP 适配后的编译速度 Moshi 的代码生成,KSP 适配后的编译速度 Moshi 的代码生成,KSP 适配后的编译速度 从 KAPT 的编译瓶颈说起 如果你在一个多模块的 Kotlin 项目里用了 Moshi 的 JsonClass 注解生成适配器,大概率被 kapt 的编译耗时折磨过。我印象很深的一次,是在把 Kot 2026-08-26 tool 0
MockK 和 Mockito 的对比,Kotlin 项目怎么选 MockK 和 Mockito 的对比,Kotlin 项目怎么选 MockK 和 Mockito 的对比,Kotlin 项目怎么选 最近把团队里一个老项目的 Kotlin 版本从 1.7.22 升到 1.9.23,单元测试跑完之后,MockK 直接炸了。报错信息大概是 io.mockk.MockKE 2026-08-26 tool 0
我收集的性能优化资料和工具链 我收集的性能优化资料和工具链 「我收集的性能优化资料和工具链」 前阵子重构一个老项目的首页,Compose 的 LazyColumn 在滚动时出现了明显的掉帧。起初我以为是 remember 和 derivedStateOf 的用法出了问题,重组次数太多,但把代码里所有的 State 梳理一遍后,帧 2026-08-24 tool 1
Dagger 到 Hilt 的迁移检查清单 Dagger 到 Hilt 的迁移检查清单 Dagger 到 Hilt 的迁移检查清单 去年把项目里的 Dagger 2.35 迁到 Hilt 2.44 那会儿,CI 挂得惨不忍睹。本地 Gradle Sync 明明过了,推上去就报 kapt 生成的 Hilt_Application 类找不到符号。 2026-08-24 tool 0
Linux 下 Android 开发的环境配置指南 Linux 下 Android 开发的环境配置指南 Linux 下 Android 开发的环境配置指南 刚把主力开发机从 macOS 换到 Ubuntu 的第三周,我遇到了一个极其荒谬的问题:Pixel 7 明明插着 USB-C,adb devices 却死活刷不出设备。换了三根数据线、确认开发者模 2026-08-24 tool 0
SQLDelight 的类型安全 SQL,在 Android 项目中的使用 SQLDelight 的类型安全 SQL,在 Android 项目中的使用 SQLDelight 的类型安全 SQL,在 Android 项目中的使用 从一个 Room 的字符串 SQL 隐患切入 如果你用 Room 写过足够复杂的查询,大概率踩过这样的坑:某个需求迭代里,你把数据库表里的列名从 u 2026-08-24 tool 9
JUnit 5 在 Android 测试中的配置与使用 JUnit 5 在 Android 测试中的配置与使用 JUnit 5 在 Android 测试中的配置与使用 去年把项目 AGP 从 7.4 升到 8.1 时,测试流水线炸了一整天。不是业务逻辑挂,而是测试任务直接抛 NoSuchMethodError,堆栈指向 com.android.build 2026-08-24 tool 1