2

如何在应用切换器中显示应用的 UI 时更新它,特别是在那一秒。

我看过 WWDC 视频“What's new with Multitasking”,但他们的方法总是更新 UI 以响应新信息或基于经过的时间量。

我每秒钟都会重绘一部分 UI,我希望用户无需打开我的应用程序即可获得他们想要的信息。我不想在后台每秒重绘我的 UI,只在应用程序切换器上显示应用程序或加载应用程序切换器时重绘一次。

4

2 回答 2

1

如果您的意思是当用户在您的应用程序内并双击时,那么您应该在您的应用程序退出活动时进行更新。如果您的意思是,当应用程序在后台并且用户在任务切换器中经过时,唯一的方法是实现推送功能并在收到推送时更新您的 UI。仅当用户进入切换器时才进行专门更新目前是不可能的。查看推送后台模式,它最接近您的需要。

即使是苹果自己的软件也不会经常在后台更新视图。例如,音乐应用、天气应用、指南针应用等。

经常在后台更新 UI 是对系统资源的巨大浪费,会给你的用户带来不好的体验。你最好的选择是改变设计。

于 2013-09-26T21:10:19.100 回答
0

从 iOS 7.0 开始,当应用切换器即将在轮播中显示您的应用时,我不知道有任何记录在案的方式来获得通知。可能发布了一个您可以订阅的通知- 为所有来源添加订阅者,没有名称过滤器,只记录每个通知的详细信息,然后使用切换器并查看您的应用程序是否收到任何通知。我怀疑他们是否正在发布此内容;因为它是一个全新的任务切换器,而且后台更新也是一个新的 API,Apple 可能不会打开任何 API 来更新应用程序,因为它至少要到 7.1 才会被切换器显示(他们在历史上至少一个次要版本的狗食新 APIS,通常是一个主要版本)。

[[NSNotificationCenter defaultCenter] addObserverForName:nil object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
 //Log the interesting bits of the notification.
}];

显然,不要将此代码留在您的发布版本中。

于 2013-10-03T19:29:12.970 回答