📄🦌🙌🐟🏖️
ccc2
探 索 星 辰 大 海
精选文章
按住 Shift 横向滚动
Biometric 指纹认证的不同安全等级,怎么选

Biometric 指纹认证的不同安全等级,怎么选

Biometric 指纹认证的不同安全等级,怎么选 Biometric 指纹认证的不同安全等级,怎么选 Android 的 Biometric API 从 BiometricPrompt 取代 FingerprintManager 开始,官方就在推一个"统一入口"的概念。但真到了要上线指纹支付、应用

Jacoco 覆盖率报告的配置与解读

Jacoco 覆盖率报告的配置与解读

Jacoco 覆盖率报告的配置与解读 Jacoco 覆盖率报告的配置与解读 一个被忽略的质量信号 去年维护一个老项目时,我遇到了一个典型的场景:CI 流水线里跑完测试,Jacoco 报告生成成功,覆盖率 87%,团队觉得挺满意。但线上还是出了 NPE,堆栈指向的代码路径在测试里明明"覆盖"到了。追查

IntelliJ IDEA 社区版开发 Android 的可行性

IntelliJ IDEA 社区版开发 Android 的可行性

IntelliJ IDEA 社区版开发 Android 的可行性 IntelliJ IDEA 社区版开发 Android 的可行性 Android Studio 是基于 IntelliJ IDEA 社区版构建的,这个常识几乎写在每个 Android 开发者的基因里。但反过来问:能不能直接用 Inte

国内厂商的自定义 ROM 开发,还有人在做吗

国内厂商的自定义 ROM 开发,还有人在做吗

国内厂商的自定义 ROM 开发,还有人在做吗 国内厂商的自定义 ROM 开发,还有人在做吗 一个让人恍惚的问题 上个月刷酷安,看到有人发帖问"现在买一加刷氧OS还值得吗",底下回复寥寥,最高赞是"氧OS都死了三年了,兄弟刚通网?"我盯着屏幕愣了一下,确实,一加在2021年宣布氧OS与ColorOS合

Kotlin 的 Duration API,替代手写毫秒计算

Kotlin 的 Duration API,替代手写毫秒计算

Kotlin 的 Duration API,替代手写毫秒计算 Kotlin 的 Duration API,替代手写毫秒计算 一个让我放弃 `System.currentTimeMillis()` 的线上故障 去年维护一个音视频通话 SDK 时,我踩过一个很蠢的坑。代码里要判断用户是否超过 30 秒没

Compose 动画的 animate*AsState 底层怎么实现的

Compose 动画的 animate*AsState 底层怎么实现的

Compose 动画的 animate*AsState 底层怎么实现的 Compose 动画的 animate*AsState 底层怎么实现的 Jetpack Compose 1.0 正式版发布到现在已经三年多了,animate*AsState 这套 API 几乎成了每个 Compose 开发者最先

LeakCanary 2.x 是怎么找到内存泄漏的

LeakCanary 2.x 是怎么找到内存泄漏的

LeakCanary 2.x 是怎么找到内存泄漏的 LeakCanary 2.x 是怎么找到内存泄漏的 从 1.x 到 2.x:一次彻底的重写 我第一次认真读 LeakCanary 源码是在 2019 年,当时项目里 1.6.3 版本的 RefWatcher 把内存泄漏检测搞成了性能灾难。Activ

Room 的 FTS 全文搜索,比 SQLite LIKE 快多少

Room 的 FTS 全文搜索,比 SQLite LIKE 快多少

Room 的 FTS 全文搜索,比 SQLite LIKE 快多少 Room 的 FTS 全文搜索,比 SQLite LIKE 快多少 从一个真实的卡顿问题说起 去年维护一个本地笔记应用,用户数据量上来之后,搜索界面开始掉帧。问题很典型:用户在搜索框输入关键词,RecyclerView 实时过滤展示

Flutter 和 Compose 现在的真实竞争格局

Flutter 和 Compose 现在的真实竞争格局

Flutter 和 Compose 现在的真实竞争格局 Flutter 和 Compose 现在的真实竞争格局 Compose 1.0 正式发布的时候,Google 搞了个挺隆重的线上发布会,我在 YouTube 上看直播,弹幕里有人刷 "Flutter killer 来了"。那是 2021 年 7