📄🦌🙌🐟🏖️
ccc2
探 索 星 辰 大 海
精选文章
按住 Shift 横向滚动
KtLint 和 Detekt 的代码规范配置

KtLint 和 Detekt 的代码规范配置

KtLint 和 Detekt 的代码规范配置 KtLint 和 Detekt 的代码规范配置:一个"过度配置"项目的踩坑记录 上个月把项目从 AGP 7.4 迁到 8.2,Gradle 升到 8.5,顺手把 KtLint 从 0.49.1 更新到 1.1.1。本地 ./gradlew spotle

DocumentsContract 的树形文档访问,SAF 的局限

DocumentsContract 的树形文档访问,SAF 的局限

DocumentsContract 的树形文档访问,SAF 的局限 「DocumentsContract 的树形文档访问,SAF 的局限」 去年把文件管理模块重构到纯 SAF(Storage Access Framework)方案时,我在 Android 11 的测试机上遇到一个极其诡异的权限崩溃。

Macrobenchmark 测出来的启动时间,跟真实用户差多少

Macrobenchmark 测出来的启动时间,跟真实用户差多少

Macrobenchmark 测出来的启动时间,跟真实用户差多少 「Macrobenchmark 测出来的启动时间,跟真实用户差多少」 去年做完一轮启动优化,本地跑 Macrobenchmark 的数据看起来相当漂亮。StartupTimingMetric 测出来的 timeToInitialDis

国内手机厂商的折叠屏适配要求,大屏 App 的新规范

国内手机厂商的折叠屏适配要求,大屏 App 的新规范

国内手机厂商的折叠屏适配要求,大屏 App 的新规范 国内手机厂商的折叠屏适配要求,大屏 App 的新规范 去年几家大厂凑在一起搞了个折叠屏软件生态联盟,华为、小米、OPPO、vivo、荣耀,该在的都在。新闻稿写得挺漂亮,说要统一标准、共建生态、提升大屏体验。结果联盟成立快一年了,我打开各家应用商店

Baseline Profile 启动优化实测,效果有多少

Baseline Profile 启动优化实测,效果有多少

Baseline Profile 启动优化实测,效果有多少 Baseline Profile 启动优化实测,效果有多少 上个月在给一个 Jetpack Compose 项目做冷启动性能基线的时候,Macrobenchmark 跑出来的数据让我一度怀疑设备坏了。同一台 Pixel 7,同一个 APK,

Android 面试题整理,来自真实面经

Android 面试题整理,来自真实面经

Android 面试题整理,来自真实面经 「Android 面试题整理,来自真实面经」 牛客网上有一条2024年快手Android开发岗的二面面经,候选人记录了这样一段对话:面试官先问"Handler会导致内存泄漏吗",他按标准答案回答了内部类持有外部类引用、建议使用静态内部类加WeakRefere

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

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

Jacoco 覆盖率报告的配置与解读 Jacoco 覆盖率报告的配置与解读 很多 Android 团队第一次接触 Jacoco 都是在升级 Android Gradle Plugin 之后。原先跑得好好的 ./gradlew createDebugCoverageReport 突然报空指针,或者 C

Android 的 TTS 引擎选择,系统 vs 第三方

Android 的 TTS 引擎选择,系统 vs 第三方

Android 的 TTS 引擎选择,系统 vs 第三方 「Android 的 TTS 引擎选择,系统 vs 第三方」 去年把 App 的 targetSdkVersion 升到 31(Android 12)之后,后台收到一条很诡异的崩溃链:用户在 Pixel 5 上点击播放按钮,应用直接闪退,堆栈