Android

邪恶机器人

108 篇文章
Android
Room 的多表关联查询,@Relation 的 N+1 问题

Room 的多表关联查询,@Relation 的 N+1 问题

Room 的多表关联查询,@Relation 的 N+1 问题 「Room 的多表关联查询,@Relation 的 N+1 问题」 去年维护一个本地缓存模块的时候,我踩到了 Room 的 @Relation 注解埋下的一个性能坑。当时的需求不算复杂:一个新闻 App 的离线阅读功能,文章表和标签表多

CountDownLatch 和 CyclicBarrier,并发工具怎么选

CountDownLatch 和 CyclicBarrier,并发工具怎么选

CountDownLatch 和 CyclicBarrier,并发工具怎么选 「CountDownLatch 和 CyclicBarrier,并发工具怎么选」 去年维护一个埋点上报模块的时候,我踩了个坑。场景很简单:App 启动时需要并行拉取三个配置项(AB 实验、远程开关、运营弹窗),全部完成后才

MediaStore 的日期查询索引,为什么有时候会慢

MediaStore 的日期查询索引,为什么有时候会慢

MediaStore 的日期查询索引,为什么有时候会慢 MediaStore 的日期查询索引,为什么有时候会慢 去年维护一个相册应用时,我接手了一个历史遗留的查询优化任务。用户反馈在照片数量超过两万张后,按日期浏览的加载时间从毫秒级跌到了秒级,甚至偶尔触发 ANR。初步排查时,我本能地怀疑是 Rec

AccessibilityService 的滥用检测,现在的限制有多严

AccessibilityService 的滥用检测,现在的限制有多严

AccessibilityService 的滥用检测,现在的限制有多严 AccessibilityService 的滥用检测,现在的限制有多严 从一次上架被拒说起 去年帮一个做效率工具的朋友处理 Google Play 上架问题,应用核心功能是自动填充表单,底层依赖 AccessibilitySer

Lint 自定义规则开发,我写完的第一条规则

Lint 自定义规则开发,我写完的第一条规则

Lint 自定义规则开发,我写完的第一条规则 Lint 自定义规则开发,我写完的第一条规则 从一次代码审查的重复劳动说起 去年下半年我们团队做了一次模块化重构,把原本耦合在 App 模块里的网络请求逻辑拆到了独立的 network 模块里。拆完之后我负责审查迁移后的代码,结果连续三天都在做同一件事: