Macrobenchmark 测出来的启动时间,跟真实用户差多少 Macrobenchmark 测出来的启动时间,跟真实用户差多少 「Macrobenchmark 测出来的启动时间,跟真实用户差多少」 去年做完一轮启动优化,本地跑 Macrobenchmark 的数据看起来相当漂亮。StartupTimingMetric 测出来的 timeToInitialDis 2026-08-03 Android 0
Jetpack Compose 的 Material3 Adaptive,大屏适配终于有官方方案了 Jetpack Compose 的 Material3 Adaptive,大屏适配终于有官方方案了 Jetpack Compose 的 Material3 Adaptive,大屏适配终于有官方方案了 Compose 1.0 正式发布的时候,折叠屏还只是个新鲜玩具。三星 Galaxy Z Fold 那 2026-08-03 随笔 8
国内手机厂商的折叠屏适配要求,大屏 App 的新规范 国内手机厂商的折叠屏适配要求,大屏 App 的新规范 国内手机厂商的折叠屏适配要求,大屏 App 的新规范 去年几家大厂凑在一起搞了个折叠屏软件生态联盟,华为、小米、OPPO、vivo、荣耀,该在的都在。新闻稿写得挺漂亮,说要统一标准、共建生态、提升大屏体验。结果联盟成立快一年了,我打开各家应用商店 2026-08-03 随笔 12
Baseline Profile 启动优化实测,效果有多少 Baseline Profile 启动优化实测,效果有多少 Baseline Profile 启动优化实测,效果有多少 上个月在给一个 Jetpack Compose 项目做冷启动性能基线的时候,Macrobenchmark 跑出来的数据让我一度怀疑设备坏了。同一台 Pixel 7,同一个 APK, 2026-08-03 Android 0
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
Android 的 TTS 引擎选择,系统 vs 第三方 Android 的 TTS 引擎选择,系统 vs 第三方 「Android 的 TTS 引擎选择,系统 vs 第三方」 去年把 App 的 targetSdkVersion 升到 31(Android 12)之后,后台收到一条很诡异的崩溃链:用户在 Pixel 5 上点击播放按钮,应用直接闪退,堆栈 2026-07-31 Android 7
Android 的 Storage Access Framework 性能,SAF 文档选择器的卡顿问题 Android 的 Storage Access Framework 性能,SAF 文档选择器的卡顿问题 Android 的 Storage Access Framework 性能,SAF 文档选择器的卡顿问题 如果你在 Android 11 的低端机上触发一个 ACTION_OPEN_DOCUME 2026-07-31 随笔 9
KMP 项目里的 expect/actual 是怎么工作的 KMP 项目里的 expect/actual 是怎么工作的 KMP 项目里的 expect/actual 是怎么工作的 去年把团队里的核心网络层从纯 Android 迁到 Kotlin Multiplatform 时,我碰到的第一个硬钉子不是协程在 Darwin 上的内存模型,也不是 CocoaPo 2026-07-31 Android 8
Android 的 Nearby Share 升级,跨设备文件传输体验 Android 的 Nearby Share 升级,跨设备文件传输体验 Android 的 Nearby Share 升级,跨设备文件传输体验?先别急着夸 CES 2023 上,Google 和 Samsung 突然宣布了一件事:以后 Nearby Share 改名叫 Quick Share,而且要 2026-07-31 随笔 6