【问题标题】:How often is performFetchWithCompletionHandler called?performFetchWithCompletionHandler 多久调用一次?
【发布时间】:2014-09-21 01:10:33
【问题描述】:

参考 iOS 7 的后台获取功能。

我想知道当performFetchWithCompletionHandler 被调用时,以下内容有何影响:

  • 用户行为
    • 应用程序使用
      • 应用使用频率 (iOS 如何确定您经常使用哪些应用?)
      • 应用使用时间 (一天中的时间,一周中的时间?)
    • 电话使用
      • 用户解锁手机 (似乎触发了抓取)
      • 大量使用手机的时间 (iOS 是否知道您在一周中最常使用手机的时间?)
  • 网络连接
    • 数据信号强度
    • 存在 Wi-Fi 连接
  • 应用行为
    • 获取间隔
    • “数据”与“无数据”报告
    • 使用内容可用推送

有没有人提出任何关于究竟如何这些事情会影响application:performFetchWithCompletionHandler: 呼叫的频率和时间的确切信息?

【问题讨论】:

  • 我们无法确定 Apple 如何决定这些事情,因为我们不是 Apple。 Apple 使用的算法是私有的,没有人知道它们,也许猜到了。而且 Stack Overflow 也不是回答没有事实依据的问题的好网站。
  • @duci9y 感谢您的评论,但仅仅因为某些东西是专有的并不意味着无法收集有关它的事实。我可以想象这个问题有很多好的答案。例如,答案基于: 应用程序开发人员收集的有关其应用程序在野外行为的统计数据;逆向 iOS 代码的结果;作为应用 QA 的一部分完成的实验结果。

标签: ios objective-c ios7 network-programming multitasking


【解决方案1】:

作为应用程序诊断的一部分,我一直在监视 iOS 10 中的 application:performFetchWithCompletionHandler 调用。我注意到当应用程序处于后台 (UIApplicationState == .background) 并且当我将 UIBackgroundFetchResult.noData 传递给完成处理程序时 - 该函数每 10 到 20 分钟调用一次。

【讨论】:

    猜你喜欢
    • 2011-11-18
    • 1970-01-01
    • 2019-12-22
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 2018-06-26
    相关资源
    最近更新 更多