Hilt 的编译时代码生成,到底生成了什么 Hilt 的编译时代码生成,到底生成了什么 Hilt 的编译时代码生成,到底生成了什么 Hilt 2.44 版本发布的时候,我把一个老项目从 Dagger 2 切了过去。迁移过程比预期顺利,加几个注解、删几行代码就编译通过了。但那天晚上我盯着 build 目录看了很久——Hilt 到底帮我生成了什么 2026-05-24 Android 2
Macrobenchmark 测出来的启动时间,跟真实用户差多少 Macrobenchmark 测出来的启动时间,跟真实用户差多少 「Macrobenchmark 测出来的启动时间,跟真实用户差多少」 从一次离谱的数据差异说起 去年我在优化一个电商 App 的冷启动,Macrobenchmark 跑出来的数据漂亮得让我怀疑人生。Median 280ms,P99 3 2026-05-24 Android 0
JetBrains 的新动作,Kotlin 生态要变天? JetBrains 的新动作,Kotlin 生态要变天? JetBrains 的新动作,Kotlin 生态要变天? Kotlin 2.0 编译器落地,K2 不是换皮 JetBrains 在 2024 年 5 月把 Kotlin 2.0.0 推成稳定版,这事儿被很多人低估了。K2 编译器从 2021 2026-05-24 随笔 3
开源图表库选型:MPAndroidChart 之外还有什么 开源图表库选型:MPAndroidChart 之外还有什么 开源图表库选型:MPAndroidChart 之外还有什么 一个被反复问到的老问题 去年维护的一个企业级项目里,产品突然要求在报表页加一套复杂的组合图表:柱状图叠折线图,带自定义 marker,还要支持手势联动。团队里有人直接甩了 MPAn 2026-05-24 tool 0
APK 瘦身实战记录,从 80MB 压到 35MB APK 瘦身实战记录,从 80MB 压到 35MB APK 瘦身实战记录,从 80MB 压到 35MB 起因:一个被渠道拒掉的包 去年 Q3 我们发版前,运营在群里丢过来一张截图,某应用商店后台提示"安装包超过 80MB,建议优化至 50MB 以下以获得推荐位加权"。当时我们的 release AP 2026-05-24 tool 0
KMP 项目里的 expect/actual 是怎么工作的 KMP 项目里的 expect/actual 是怎么工作的 KMP 项目里的 expect/actual 是怎么工作的 从一个编译报错开始 去年下半年我在把一个 Android 项目往 KMP 迁移时,碰到了一个挺典型的编译错误。代码结构大概是这样: // commonMain expect cla 2026-05-24 Android 2
Baseline Profile 启动优化实测,效果有多少 Baseline Profile 启动优化实测,效果有多少 「Baseline Profile 启动优化实测,效果有多少」 去年 Google I/O 上 Baseline Profile 被反复提及的时候,我其实有点将信将疑。启动优化这个领域,从 Multidex 时代的 main-dex-lis 2026-05-24 Android 0
Google I/O 又画饼了,Android 开发者怎么看 Google I/O 又画饼了,Android 开发者怎么看 「Google I/O 又画饼了,Android 开发者怎么看」 每年五月的 Google I/O 大会,对 Android 开发者来说越来越像一场固定节目:凌晨爬起来看直播,截图发群聊,第二天技术媒体铺天盖地的"重磅更新"通稿,然后—— 2026-05-24 随笔 3
Baseline Profile 启动优化实测,效果有多少 Baseline Profile 启动优化实测,效果有多少 Baseline Profile 启动优化实测,效果有多少 从一次冷启动卡顿的排查说起 去年下半年我在维护一个用户量级百万级别的工具类应用,收到不少关于启动慢的反馈。当时应用冷启动时间大概在 2.8 秒左右(从点击图标到首帧绘制完成),在低 2026-05-24 Android 0