Paging 3 的 RemoteMediator,缓存策略怎么设计 Paging 3 的 RemoteMediator,缓存策略怎么设计 Paging 3 的 RemoteMediator,缓存策略怎么设计 一个让人困惑的 API 设计 RemoteMediator 的签名看起来足够简单。load() 方法返回 MediatorResult.Success 或者 M 2026-06-30 Android 7
Security 库的 EncryptedSharedPreferences,性能损耗有多少 Security 库的 EncryptedSharedPreferences,性能损耗有多少 Security 库的 EncryptedSharedPreferences,性能损耗有多少 Android Jetpack Security 库在 1.0.0 稳定版发布之后,EncryptedShare 2026-06-30 Android 8
PackageVisibility 的查询白名单,Android 11 后的适配 PackageVisibility 的查询白名单,Android 11 后的适配 PackageVisibility 的查询白名单,Android 11 后的适配 Android 11(API 30)引入的 Package Visibility 限制,是我这几年做应用适配时踩坑最多、也最被低估的一个 2026-06-29 Android 9
LocalBroadcastManager 的废弃,应用内通信用什么替代 LocalBroadcastManager 的废弃,应用内通信用什么替代 LocalBroadcastManager 的废弃,应用内通信用什么替代 一个被忽略 5 年的废弃通知 2022 年 1 月,AndroidX Core 1.8.0-alpha01 版本发布,release notes 里有一 2026-06-29 Android 9
Compose 性能分析:Layout Inspector 之外还有什么 Compose 性能分析:Layout Inspector 之外还有什么 Compose 性能分析:Layout Inspector 之外还有什么 Layout Inspector 在 Android Studio 里挂了太多年了,从传统 View 时代就是性能分析的标配。Compose 出来以后, 2026-06-29 Android 6
CopyOnWriteArrayList 的读写分离,更新开销有多大 CopyOnWriteArrayList 的读写分离,更新开销有多大 「CopyOnWriteArrayList 的读写分离,更新开销有多大」 去年排查一个线上 OOM 问题时,堆栈里反复出现 java.util.concurrent.CopyOnWriteArrayList 的 add 方法,这让 2026-06-25 Android 5
ProfileInstaller 的 Baseline Profile 分发,Play Store 之外怎么发 ProfileInstaller 的 Baseline Profile 分发,Play Store 之外怎么发 「ProfileInstaller 的 Baseline Profile 分发,Play Store 之外怎么发」 Baseline Profile 这玩意儿,Google 推了有几年了。 2026-06-24 Android 12
RenderThread 的异步渲染,UI 线程真的减负了吗 RenderThread 的异步渲染,UI 线程真的减负了吗 RenderThread 的异步渲染,UI 线程真的减负了吗 从一次掉帧排查说起 去年在优化一个信息流页面的时候,我遇到了一个挺反直觉的现象。列表滑动时 Systrace 显示 UI 线程的 doFrame 耗时只有 6-7ms,远低于 2026-06-23 Android 11
Android 的缓存目录选择:cacheDir vs filesDir vs externalCacheDir Android 的缓存目录选择:cacheDir vs filesDir vs externalCacheDir Android 的缓存目录选择:cacheDir vs filesDir vs externalCacheDir 一个被系统清理搞崩的线上事故 去年维护的一个工具类 App 在 Andr 2026-06-22 Android 20
WebSettings 的缓存模式,H5 混合应用的加载策略 WebSettings 的缓存模式,H5 混合应用的加载策略 WebSettings 的缓存模式,H5 混合应用的加载策略 去年维护一个存量混合应用时,遇到一个让我困惑了很久的问题:同样的 H5 页面,在 iOS 上二次打开几乎是瞬时的,Android 上却总是要从头加载。排查了一圈 CDN、HTT 2026-06-21 Android 14