IntelliJ IDEA 社区版开发 Android 的可行性 IntelliJ IDEA 社区版开发 Android 的可行性 IntelliJ IDEA 社区版开发 Android 的可行性 Android Studio Iguana 解压后的体积已经逼近 3GB,启动后在 16GB 内存的机器上轻松吃掉 2.5GB 以上,再加上 Gradle Daemon 2026-08-06 tool 1
Coil 和 Glide 的加载性能对比数据 Coil 和 Glide 的加载性能对比数据 Coil 和 Glide 的加载性能对比数据 去年把一个新项目从 Glide 4.15.1 迁到 Coil 2.4.0 之后,我遇到过一个很诡异的性能回归。首页是一个三列的 RecyclerView,每个 item 带一张圆角网络图片,快速滑动时 GPU 2026-08-06 tool 0
KtLint 和 Detekt 的代码规范配置 KtLint 和 Detekt 的代码规范配置 KtLint 和 Detekt 的代码规范配置:一个"过度配置"项目的踩坑记录 上个月把项目从 AGP 7.4 迁到 8.2,Gradle 升到 8.5,顺手把 KtLint 从 0.49.1 更新到 1.1.1。本地 ./gradlew spotle 2026-08-03 tool 4
Android 面试题整理,来自真实面经 Android 面试题整理,来自真实面经 「Android 面试题整理,来自真实面经」 牛客网上有一条2024年快手Android开发岗的二面面经,候选人记录了这样一段对话:面试官先问"Handler会导致内存泄漏吗",他按标准答案回答了内部类持有外部类引用、建议使用静态内部类加WeakRefere 2026-08-03 tool 0
Jacoco 覆盖率报告的配置与解读 Jacoco 覆盖率报告的配置与解读 Jacoco 覆盖率报告的配置与解读 很多 Android 团队第一次接触 Jacoco 都是在升级 Android Gradle Plugin 之后。原先跑得好好的 ./gradlew createDebugCoverageReport 突然报空指针,或者 C 2026-08-03 tool 0
APK 瘦身实战记录,从 80MB 压到 35MB APK 瘦身实战记录,从 80MB 压到 35MB APK 瘦身实战记录,从 80MB 压到 35MB 去年秋天的时候,我们项目的 APK 在某次大版本迭代后突破了 80MB。虽然 Google Play 的 150MB 上限还远,但国内几个主要渠道的分发后台已经开始弹警告,更直接的是后台数据里显示 2026-07-31 tool 4
kotlinx.serialization 的稳定性,生产环境敢用吗 kotlinx.serialization 的稳定性,生产环境敢用吗 kotlinx.serialization 的稳定性,生产环境敢用吗 去年把项目里的 Kotlin 版本从 1.9.10 推到 1.9.20 时,我顺手将 kotlinx.serialization 从 1.5.1 升到了 1.6 2026-07-31 tool 0
远程真机测试平台对比:Firebase、AWS、BrowserStack 远程真机测试平台对比:Firebase、AWS、BrowserStack 「远程真机测试平台对比:Firebase、AWS、BrowserStack」 把 targetSdk 升到 34 之后,我们的应用在 Samsung Galaxy S24 Ultra 上收到一个 Native 崩溃,堆栈指向一 2026-07-29 tool 4
Sentry 的崩溃监控集成,比 Firebase 差在哪 Sentry 的崩溃监控集成,比 Firebase 差在哪 Sentry 的崩溃监控集成,比 Firebase 差在哪 去年把公司项目的崩溃监控从 Firebase Crashlytics 迁移到 Sentry 时,我遇到过一个非常具体的坑。线上报了一个 SIGSEGV 的 native crash 2026-07-29 tool 7
Jetpack 库的源码阅读指南,从哪里下手 Jetpack 库的源码阅读指南,从哪里下手 Jetpack 库的源码阅读指南,从哪里下手 你在调试一个内存泄漏,追踪到 ViewModel 的 onCleared() 始终没触发。按住 Ctrl 点进 ViewModel 类,IDE 跳转到了 androidx.lifecycle.ViewMode 2026-07-27 tool 14