📄🦌🙌🐟🏖️
ccc2
探 索 星 辰 大 海
精选文章
按住 Shift 横向滚动
WorkManager 的约束条件,电池优化下还靠谱吗

WorkManager 的约束条件,电池优化下还靠谱吗

WorkManager 的约束条件,电池优化下还靠谱吗 WorkManager 的约束条件,电池优化下还靠谱吗 从一次凌晨的崩溃告警说起 去年维护的一个后台上传模块,线上突然报了大量 WorkInfo.State.FAILED 的异常。看日志很诡异:任务明明设置了 NetworkType.CONNE

GitHub Actions 的 Android CI 模板优化

GitHub Actions 的 Android CI 模板优化

GitHub Actions 的 Android CI 模板优化 GitHub Actions 的 Android CI 模板优化 那个被复制了十万次的模板有什么问题 几乎所有 Android 项目的 .github/workflows/android.yml 都是从同一个源头变异而来的:GitHu

ProGuard 和 R8 的规则文件编写技巧

ProGuard 和 R8 的规则文件编写技巧

ProGuard 和 R8 的规则文件编写技巧 ProGuard 和 R8 的规则文件编写技巧 从一次 4MB 的体积回退说起 去年维护一个老牌金融类 App 时,我踩了一个相当经典的坑。团队把构建工具从 AGP 7.2 升级到 8.0,R8 的 full mode 默认开启,发版后线上崩溃率从 0

DownloadManager 的大文件下载,断点续传靠谱吗

DownloadManager 的大文件下载,断点续传靠谱吗

DownloadManager 的大文件下载,断点续传靠谱吗 「DownloadManager 的大文件下载,断点续传靠谱吗」 去年维护一个视频缓存项目时,我接到了一个看起来挺简单的需求:后台下载 500MB 以上的视频文件,支持断点续传,网络切换后能自动恢复。产品经理的原话是"系统不是有 Down

Appium 和 Espresso 的 UI 测试框架对比

Appium 和 Espresso 的 UI 测试框架对比

Appium 和 Espresso 的 UI 测试框架对比 Appium 和 Espresso 的 UI 测试框架对比 从一次 CI 崩溃说起 去年维护的一个项目把 UI 测试从 Espresso 迁移到 Appium,三个月后又在深夜回滚。回滚 commit 的 message 写得挺克制:"Re

ContentResolver 的批量操作,applyBatch 还靠谱吗

ContentResolver 的批量操作,applyBatch 还靠谱吗

ContentResolver 的批量操作,applyBatch 还靠谱吗 ContentResolver 的批量操作,applyBatch 还靠谱吗 从一次联系人同步崩溃说起 去年维护一个企业通讯录同步模块时,我在 Firebase Crashlytics 里看到一条稳定复现的崩溃: androi

Genymotion 桌面模拟器的现在和替代方案

Genymotion 桌面模拟器的现在和替代方案

Genymotion 桌面模拟器的现在和替代方案 「Genymotion 桌面模拟器的现在和替代方案」 Genymotion 的免费桌面版在 2023 年彻底停更这件事,很多老 Android 开发者可能是后知后觉的。我注意到这个变化是因为某个项目里 CI 流水线突然挂掉,追查下来发现是 Genym

Gradle 依赖版本统一管理方案对比

Gradle 依赖版本统一管理方案对比

Gradle 依赖版本统一管理方案对比 Gradle 依赖版本统一管理方案对比 Android 项目里依赖版本管理这件事,看起来是个"配置问题",实际踩进去才知道水有多深。一个中等规模的项目,几十上百个第三方库,加上内部模块的版本对齐,光靠每个 build.gradle 里硬编码版本号,维护起来就是