执行后台提取时,不返回UIBackgroundFetchResultNewData的缺点是什么?

时间:2015-11-04 07:16:33

标签: ios multitasking background-fetch

我刚在iOS应用中实现了后台提取功能。我在我的app delegate中实现了这个方法:

completionHandler(UIBackgroundFetchResultNewData)

实现此目的的正确方法是在有新数据时调用completionHandler(UIBackgroundFetchResultNoData),而在没有新内容下载时调用completionHandler(UIBackgroundFetchResultNewData)

但是,并非所有Web服务都可以提供此信息。其中一些只是要求开发人员一直提取新数据,即使没有什么新东西。在这种情况下,在每次后台获取时调用require 'active_support' require 'active_support/core_ext' 会有什么缺点?

1 个答案:

答案 0 :(得分:2)

调用completionHandler(UIBackgroundFetchResultNewData)的一个副作用是获取UI的快照,以便当用户切换回应用程序时,UI会立即更新。

根据您获取数据的频率以及它(或不是)新的可能性,这可能会导致一些中等的性能命中,因为在缓存中不必要地捕获和保存快照。如果您的应用已经超越了性能和电池使用的界限,那么可能值得研究在Web服务方面进行更改。