tool

90 篇文章
MAT 工具分析堆转储,定位内存泄漏

MAT 工具分析堆转储,定位内存泄漏

MAT 工具分析堆转储,定位内存泄漏 「MAT 工具分析堆转储,定位内存泄漏」 去年维护一个内容型 App 时,线上 Firebase 突然连续报出 OutOfMemoryError,堆栈集中在 java.lang.OutOfMemoryError: Failed to allocate a 524

Firebase 免费额度够用吗,超出后多少钱

Firebase 免费额度够用吗,超出后多少钱

Firebase 免费额度够用吗,超出后多少钱 Firebase 免费额度够用吗,超出后多少钱 很多独立开发者第一次接触 Firebase,都是被控制台上那个硕大的"免费开始使用"按钮吸引进去的。Spark 计划(也就是免费档)在文档里的呈现方式极具亲和力——Firestore 每日五万次读取、Au

Moshi 的代码生成,KSP 适配后的编译速度

Moshi 的代码生成,KSP 适配后的编译速度

Moshi 的代码生成,KSP 适配后的编译速度 Moshi 的代码生成,KSP 适配后的编译速度 从 KAPT 的编译瓶颈说起 如果你在一个多模块的 Kotlin 项目里用了 Moshi 的 JsonClass 注解生成适配器,大概率被 kapt 的编译耗时折磨过。我印象很深的一次,是在把 Kot

MockK 和 Mockito 的对比,Kotlin 项目怎么选

MockK 和 Mockito 的对比,Kotlin 项目怎么选

MockK 和 Mockito 的对比,Kotlin 项目怎么选 MockK 和 Mockito 的对比,Kotlin 项目怎么选 最近把团队里一个老项目的 Kotlin 版本从 1.7.22 升到 1.9.23,单元测试跑完之后,MockK 直接炸了。报错信息大概是 io.mockk.MockKE

我收集的性能优化资料和工具链

我收集的性能优化资料和工具链

我收集的性能优化资料和工具链 「我收集的性能优化资料和工具链」 前阵子重构一个老项目的首页,Compose 的 LazyColumn 在滚动时出现了明显的掉帧。起初我以为是 remember 和 derivedStateOf 的用法出了问题,重组次数太多,但把代码里所有的 State 梳理一遍后,帧

Dagger 到 Hilt 的迁移检查清单

Dagger 到 Hilt 的迁移检查清单

Dagger 到 Hilt 的迁移检查清单 Dagger 到 Hilt 的迁移检查清单 去年把项目里的 Dagger 2.35 迁到 Hilt 2.44 那会儿,CI 挂得惨不忍睹。本地 Gradle Sync 明明过了,推上去就报 kapt 生成的 Hilt_Application 类找不到符号。

Linux 下 Android 开发的环境配置指南

Linux 下 Android 开发的环境配置指南

Linux 下 Android 开发的环境配置指南 Linux 下 Android 开发的环境配置指南 刚把主力开发机从 macOS 换到 Ubuntu 的第三周,我遇到了一个极其荒谬的问题:Pixel 7 明明插着 USB-C,adb devices 却死活刷不出设备。换了三根数据线、确认开发者模

SQLDelight 的类型安全 SQL,在 Android 项目中的使用

SQLDelight 的类型安全 SQL,在 Android 项目中的使用

SQLDelight 的类型安全 SQL,在 Android 项目中的使用 SQLDelight 的类型安全 SQL,在 Android 项目中的使用 从一个 Room 的字符串 SQL 隐患切入 如果你用 Room 写过足够复杂的查询,大概率踩过这样的坑:某个需求迭代里,你把数据库表里的列名从 u

JUnit 5 在 Android 测试中的配置与使用

JUnit 5 在 Android 测试中的配置与使用

JUnit 5 在 Android 测试中的配置与使用 JUnit 5 在 Android 测试中的配置与使用 去年把项目 AGP 从 7.4 升到 8.1 时,测试流水线炸了一整天。不是业务逻辑挂,而是测试任务直接抛 NoSuchMethodError,堆栈指向 com.android.build