【发布时间】:2017-07-07 20:17:51
【问题描述】:
我的应用通过远程命令将联系人添加到电话簿。一个命令可以添加的联系人数量没有限制。
应用程序使用服务内的 ContentObserver 侦听添加的联系人的更改。 onChange() 的处理可能需要一些时间,因为 App 需要查找更新了哪些联系人以及哪些字段受到了影响。
问题是,当接收到一次添加多个联系人(例如 200)的命令时,ContentObserver 会收到重叠的 onChange()。也就是说,当它仍在处理前一个时,它会获取 onChange()。这种重叠会导致问题。
处理这个问题的最佳方法是什么?
理想情况下,我想要的是:如果在处理前一个时发生新的 onChange(),则丢弃前一个的工作并从新的开始。但是该怎么做呢?
【问题讨论】: