xamarin ios performfetch 会运行多久?我正在运行一个 for 循环来测试 performfetch 将运行多长时间,它只运行了 15 秒。它有官方的时间限制吗?
这是我的代码
public override void PerformFetch(UIApplication application, Action<UIBackgroundFetchResult> completionHandler)
{
for (int i = 0; i < 999999; i++)
{
Debug.WriteLine(string.Format("{0}:{1}", "i", i));
}
completionHandler(UIBackgroundFetchResult.NewData);
}
30 秒
有关performFetchWithCompletionHandler:
,请参阅 Apple 文档的讨论部分
调用此方法时,应用最多有 30 秒的挂钟时间来执行下载操作并调用指定的完成处理程序块。实际上,应用应在下载所需数据后尽快调用完成处理程序块。如果不及时调用完成处理程序,应用将终止。更重要的是,系统会使用已用时间来计算应用后台下载的电源使用情况和数据成本。如果应用调用完成处理程序需要很长时间,则将来提取数据的机会可能会减少。
- https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623125-application?language=occ