AGP 8.0 的 R8 全模式,我迁移时遇到的坑 AGP 8.0 的 R8 全模式,我迁移时遇到的坑 AGP 8.0 的 R8 全模式,我迁移时遇到的坑 上个月把项目的主干分支从 AGP 7.4.2 切到 8.0.0,Gradle wrapper 从 7.5 升到 8.0,compileSdk 也顺势提到了 33。Sync 过程比预想中顺利,Kot 2026-07-20 Android 0
Android 的 DNS 解析缓存,OkHttp 怎么控制 Android 的 DNS 解析缓存,OkHttp 怎么控制 Android 的 DNS 解析缓存,OkHttp 怎么控制 去年一次线上切流,我们给 CDN 域名换了 A 记录指向备用集群。监控里 iOS 端的错误率在五分钟后开始回落,Android 端的超时报警却持续了近十五分钟。后端确认新 IP 2026-07-20 Android 0
Crashlytics 的自定义日志,定位 Native Crash Crashlytics 的自定义日志,定位 Native Crash Crashlytics 的自定义日志,定位 Native Crash 去年线上有一个 Native Crash 把我们折腾了挺久。信号 SIGSEGV,崩溃地址 0x0000000000000000,Firebase Consol 2026-07-20 Android 0
Android 14 的截屏检测 API,能做什么不能做什么 Android 14 的截屏检测 API,能做什么不能做什么 Android 14 的截屏检测 API,能做什么不能做什么 Android 14 正式引入 DETECT_SCREEN_CAPTURE 权限和 ScreenCaptureCallback 的时候,我第一反应是:Google 终于把这个坑 2026-07-17 Android 3
Android 的增量编译,到底省了多少时间 Android 的增量编译,到底省了多少时间 Android 的增量编译,到底省了多少时间 从一条 UP-TO-DATE 日志开始 前阵子升级一个老项目到 AGP 8.1.0 + Gradle 8.2.1 + Kotlin 1.9.10, clean build 时间从 3 分 20 秒涨到了 5 2026-07-17 Android 4
OverlayManagerService 的悬浮窗权限,不同厂商差异 OverlayManagerService 的悬浮窗权限,不同厂商差异 OverlayManagerService 的悬浮窗权限,不同厂商差异 从一次线上崩溃说起 去年维护一个直播 SDK 的时候,我们收到一份来自 vivo X90 的崩溃报告。堆栈很干净,干净到让人头疼: android.view 2026-07-15 Android 6
SavedStateViewModelFactory 的恢复逻辑,Bundle 大小限制 SavedStateViewModelFactory 的恢复逻辑,Bundle 大小限制 「SavedStateViewModelFactory 的恢复逻辑,Bundle 大小限制」 去年给一个电商 App 做进程回收后的状态恢复时,我踩到了一个坑:用户把商品加入购物车后切到后台,过十几分钟再回来, 2026-07-15 Android 3
DataStore 替代 SharedPreferences,迁移要注意什么 DataStore 替代 SharedPreferences,迁移要注意什么 DataStore 替代 SharedPreferences,迁移要注意什么 Jetpack DataStore 从 1.0.0 稳定版发布到现在已经三年多了,Google 官方文档里那句 "SharedPreferenc 2026-07-13 Android 6
GnssStatus.Callback 的卫星定位状态,原始数据怎么用 GnssStatus.Callback 的卫星定位状态,原始数据怎么用 GnssStatus.Callback 的卫星定位状态,原始数据怎么用 Android 的 GNSS(全球导航卫星系统)API 在 API 24(Android 7.0)引入 GnssStatus.Callback 时,给开发者 2026-07-13 Android 8
RecyclerView 的预加载机制,Prefetch 到底有用吗 RecyclerView 的预加载机制,Prefetch 到底有用吗 RecyclerView 的预加载机制,Prefetch 到底有用吗 从一次列表卡顿说起 去年维护一个信息流应用时,我遇到个挺典型的性能问题。列表滑动到第 15 条左右开始掉帧,Systrace 上能看到明显的红色帧, Chore 2026-07-13 Android 4