Notification Channel 的分组策略,太多渠道怎么办 Notification Channel 的分组策略,太多渠道怎么办 「Notification Channel 的分组策略,太多渠道怎么办」 做内容聚合类应用的工程师大概率都遇到过这个窘境:产品运营要求每个栏目单独开关通知,技术侧为了把控制权交给用户,在 Android O 之后为每个栏目都建了独 2026-07-29 Android 13
远程真机测试平台对比:Firebase、AWS、BrowserStack 远程真机测试平台对比:Firebase、AWS、BrowserStack 「远程真机测试平台对比:Firebase、AWS、BrowserStack」 把 targetSdk 升到 34 之后,我们的应用在 Samsung Galaxy S24 Ultra 上收到一个 Native 崩溃,堆栈指向一 2026-07-29 tool 6
Android 14 的部分照片访问权限,用户体验真的变好了吗 Android 14 的部分照片访问权限,用户体验真的变好了吗 Android 14 的部分照片访问权限,用户体验真的变好了吗 线上最近收到一条挺典型的用户反馈:升级 Android 14 之后,打开 App 只能看到三张图,但手机相册里明明存了两千多张。客服排查了一圈,网络正常、存储空间充足、Ap 2026-07-29 随笔 13
Choreographer 的帧回调,自己监听能做什么 Choreographer 的帧回调,自己监听能做什么 「Choreographer 的帧回调,自己监听能做什么」 去年把项目里的性能监控 SDK 从基于 Handler 的埋点方案切到 Choreographer 时,我满以为这只是一个简单的 API 替换。毕竟 Choreographer 从 A 2026-07-29 Android 9
Sentry 的崩溃监控集成,比 Firebase 差在哪 Sentry 的崩溃监控集成,比 Firebase 差在哪 Sentry 的崩溃监控集成,比 Firebase 差在哪 去年把公司项目的崩溃监控从 Firebase Crashlytics 迁移到 Sentry 时,我遇到过一个非常具体的坑。线上报了一个 SIGSEGV 的 native crash 2026-07-29 tool 11
Google I/O 又画饼了,Android 开发者怎么看 Google I/O 又画饼了,Android 开发者怎么看 「Google I/O 又画饼了,Android 开发者怎么看」 每年五月的山景城,对 Android 开发者来说已经成了一种固定的仪式感。定好闹钟,打开直播,看着 Sundar Pichai 走上台,然后数一数今年的 Keynote 里 2026-07-29 随笔 0
ExoPlayer 的自定义 Renderer,硬解失败 fallback ExoPlayer 的自定义 Renderer,硬解失败 fallback 「ExoPlayer 的自定义 Renderer,硬解失败 fallback」 线上有一个崩溃在 Amlogic S905X3 方案的电视盒子上集中爆发。Android 10,ExoPlayer 2.18.1,播放 HEVC 2026-07-27 Android 11
Jetpack 库的源码阅读指南,从哪里下手 Jetpack 库的源码阅读指南,从哪里下手 Jetpack 库的源码阅读指南,从哪里下手 你在调试一个内存泄漏,追踪到 ViewModel 的 onCleared() 始终没触发。按住 Ctrl 点进 ViewModel 类,IDE 跳转到了 androidx.lifecycle.ViewMode 2026-07-27 tool 15
ObjectBox 的性能宣传,实测数据怎么样 ObjectBox 的性能宣传,实测数据怎么样 ObjectBox 的性能宣传,实测数据怎么样 ObjectBox 官网首页有一个很醒目的数字:比 SQLite 快 10 倍。GreenDAO 原班人马打造、专为移动端和 IoT 优化的对象数据库,这些标签让它在过去几年里频繁出现在 Android 2026-07-27 tool 56
kotlinx.serialization 的稳定性,生产环境敢用吗 kotlinx.serialization 的稳定性,生产环境敢用吗 kotlinx.serialization 的稳定性,生产环境敢用吗 去年下决心把团队项目里沿用了五年的 Gson 全量迁移到 kotlinx.serialization,动机很直接:Kotlin 数据类的空安全在 Gson 的反 2026-07-23 tool 0