我在我的 SyncAdapter 中使用 cancelRequest(),就在它退出它的线程之前,但我后来决定它只打算由另一个想要取消正在进行的同步的实体 (UI) 使用(花费太长时间,哎呀, ETC。)
现在我的同步认为总是有一个待处理的请求——我用它来忽略新的请求。
我要做的另一件事是服务中的侦听器线程,它正在侦听对ContactsContract.AUTHORITY的更改,因此它可以启动我的聚合同步。
更新:此侦听器线程正在泄漏。完成后我会发出 .stop() ,但是,我认为有一个处理程序可以保持活动状态并防止服务停止。
我想将 SyncResults 发送到某个实体(即 SyncManager),该实体跟踪此类事物以进行挂起、回收等。
我错过了什么?