gpt4 book ai didi

android - 同步适配器和同步结果

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:33:46 25 4
gpt4 key购买 nike

我想知道当我们在操作onPerformSync()期间使用对象SyncResultSyncManager的默认行为是什么

例如,当由于IOException导致同步错误时,我们设置

syncResult.stats.numIoExceptions++

然后 SyncManager 必须管理重新发送同步,直到系统指定的延迟。

但是,如果每次同步都发生 IOException,那么同步会被重新调用多少次?每次同步之间的默认延迟设置是多少?是否可以定义自己的行为?我在哪里可以找到相关文档?

最佳答案

SyncResult 对象有一个 delayUntil 字段,您可以从您的同步适配器中设置该字段,它将延迟每个后续同步指定的秒数。也许这就是您正在寻找的领域。

否则,同步将被重新安排

SyncResult.madeSomeProgress() 返回 true - 即一些工作已通过同步成功完成(对应于 stats.numDeletesstats.numInserts > 0, stats.numUpdates > 0)

SyncResult.hasSoftError() 返回 true - 即由于 IOExceptionSyncResult.syncAlreadyInProgress 为 true 而失败。

因此,为了回答您的问题,如果 IOException 在每次同步时发生,SyncManager 将无限次重试 - 使用指数退避。

需要注意的是,同步适配器可以设置 SyncResult.tooManyRetries = true,这将向 SyncManager 指示不会重新安排同步。

关于android - 同步适配器和同步结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11362233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com