IntelliJ IDEA 社区版开发 Android 的可行性 IntelliJ IDEA 社区版开发 Android 的可行性 IntelliJ IDEA 社区版开发 Android 的可行性 Android Studio Iguana 解压后的体积已经逼近 3GB,启动后在 16GB 内存的机器上轻松吃掉 2.5GB 以上,再加上 Gradle Daemon 2026-08-06 tool 0
Google 的 Firebase 新产品线,从分析到实验的一体化 Google 的 Firebase 新产品线,从分析到实验的一体化 Google 的 Firebase 新产品线,从分析到实验的一体化 2023 年 9 月 30 号之后,如果你还赖在 Google Optimize 的后台想改一个网页 A/B 测试,看到的只会是一封关服通知。Google 把这项服 2026-08-06 随笔 1
Coil 和 Glide 的加载性能对比数据 Coil 和 Glide 的加载性能对比数据 Coil 和 Glide 的加载性能对比数据 去年把一个新项目从 Glide 4.15.1 迁到 Coil 2.4.0 之后,我遇到过一个很诡异的性能回归。首页是一个三列的 RecyclerView,每个 item 带一张圆角网络图片,快速滑动时 GPU 2026-08-06 tool 0
ConcurrentLinkedQueue 的无锁队列,适合什么场景 ConcurrentLinkedQueue 的无锁队列,适合什么场景 「ConcurrentLinkedQueue 的无锁队列,适合什么场景」 去年在优化一个相机预览模块的帧缓冲区时,我把原来的 LinkedBlockingQueue 换成了 ConcurrentLinkedQueue。当时的想法很 2026-08-06 Android 3
Shizuku 权限方案,无 Root 调用系统 API 的实践 Shizuku 权限方案,无 Root 调用系统 API 的实践 「Shizuku 权限方案,无 Root 调用系统 API 的实践」 Android 14 上,我尝试在应用内直接通过反射关闭另一个应用的通知权限。代码刚跑起来就收到了一个无情的 SecurityException,日志很直白:uid 2026-08-06 Android 3
Compose Compiler 新版本的性能优化,编译时间缩短了吗 Compose Compiler 新版本的性能优化,编译时间缩短了吗 Compose Compiler 新版本的性能优化,编译时间缩短了吗 Compose Compiler 2.0.0 跟着 Kotlin 2.0 一起落地已经有一段时间了。JetBrains 在 K2 编译器的发布博客里把性能提升吹 2026-08-06 随笔 3
Android 的 Auto Fill 服务安全性,密码管理器的新要求 Android 的 Auto Fill 服务安全性,密码管理器的新要求 Android 的 Auto Fill 服务安全性,密码管理器的新要求 Android 15 的 Developer Preview 放出来之后,我扫了一遍 Autofill 相关的 API diff。没发现什么振奋人心的大更新 2026-08-06 随笔 1
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
DocumentsContract 的树形文档访问,SAF 的局限 DocumentsContract 的树形文档访问,SAF 的局限 「DocumentsContract 的树形文档访问,SAF 的局限」 去年把文件管理模块重构到纯 SAF(Storage Access Framework)方案时,我在 Android 11 的测试机上遇到一个极其诡异的权限崩溃。 2026-08-03 Android 9
Android 开发从 Java 8 到 17 的迁移,还有多少老项目没动 Android 开发从 Java 8 到 17 的迁移,还有多少老项目没动 Android 开发从 Java 8 到 17 的迁移,还有多少老项目没动 AGP 8.0 发布已经一年半了,Google 那把刀早就磨好。从 2023 年 4 月开始,Android Gradle Plugin 8.0 明 2026-08-03 随笔 4