iOS:在位置服务背景中运行时更新UI

时间:2012-10-12 15:42:17

标签: objective-c ios core-location multitasking

我有一个使用位置服务的简单应用程序,并注册在后台运行。我用位置数据更新了一个简单的tableView。当用户离开应用程序并执行其他操作时,仍会收到此数据。

目前我在- (void)applicationWillEnterForeground:(UIApplication *)application调用一个方法来更新用户界面,但是当应用程序打开时,仍然会有一瞬间,并且UI会更新。

我还尝试在后台进行定期的UI更新,但这并不奇怪,这似乎不起作用。

是否有任何解决方案,以便当用户将应用程序带回前台时,我可以完全更新用户界面?

1 个答案:

答案 0 :(得分:1)

最好的解决方案可能是在显示新数据之前剖析并查看为什么会有任何延迟。很有可能你可以做一些准备让显示器到达,比如提前做核心数据查询(它们可能需要很长时间)。

另一种方法是在暂停时从屏幕转储空白UI位图,并根据活动直接写入 - 然后在应用程序恢复时,在显示真实完成之前,将位图简要显示为屏幕叠加层UI。