use*_*356 9 android synchronization
我想知道在操作期间SyncManager使用对象时的默认行为SyncResultonPerformSync()
例如,当IOException我们设置同步因错误时
syncResult.stats.numIoExceptions++
然后SyncManager必须管理重新发送同步,直到系统指定延迟.
但是,如果IOException每个同步的诅咒,同步重新调用多少次?每次同步之间的默认延迟设置是多少?这有可能定义自己的行为吗?我在哪里可以找到相关文档?
该SyncResult对象有一个delayUntil字段,您可以从同步适配器设置该字段,该字段将延迟每个后续同步指定的秒数.也许这是你正在寻找的领域.
否则,如果是,将重新安排同步
SyncResult.madeSomeProgress()返回true -即一些工作成功地被同步完成(对应于stats.numDeletes,stats.numInserts > 0,stats.numUpdates > 0)
SyncResult.hasSoftError()返回true  - 即由于a IOException或因为SyncResult.syncAlreadyInProgress是真的而失败.
因此,要回答您的问题,如果IOExceptions在每次同步时发生,那么SyncManager将无限重试 - 使用指数退避.
需要注意的是,同步适配器可以设置SyncResult.tooManyRetries = true哪个将指示SyncManager同步不会被重新安排.
| 归档时间: | 
 | 
| 查看次数: | 4130 次 | 
| 最近记录: |