我有一个每 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);
}
}
}];
}