1

我有一个每 7 小时运行一次的后台作业,它进行 API 调用大约需要 1-3 秒。查看设置的电池部分,显示该作业在过去 20 小时内已在后台运行了 40 分钟。

模拟后台提取工作得很好,并在几秒钟内调用完成。

知道为什么它运行时间过长吗?

NSTimeInterval backgroundFetchTimeInterval = 7 * 3600;
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:backgroundFetchTimeInterval];

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
       [[SyncManager sharedManager] performSyncWithCompletion:^(NSArray *results, NSError *error) {
             if (error) {
                completionHandler(UIBackgroundFetchResultFailed);
            }
            else {
                if (resultCount > 0) {
                    completionHandler(UIBackgroundFetchResultNewData);
                }
                else {
                    completionHandler(UIBackgroundFetchResultNoData);
                }
            }
    }];
}
4

1 回答 1

1

您可以做的是在一个文件中写下您花费了多少时间。

这个想法是写你开始在文件中提取后台的时间和你完成它的时间。这样你就可以计算出你真正花了多少钱,这将帮助你更好地分析。

于 2015-12-06T18:38:26.760 回答