2010-10-19 26 views
0

后让我重新整理,以使其更清晰:做简单的任务,在后台很长一段时间在iOS 4+

我怎么能有一个“报警”熄灭20分钟后我的应用程序已经在走了背景?


老问题:

你怎么能对iOS的60年5月10日分后简单的TAST发生的呢?本质上,在预定义的时间间隔之后让NSTimer启动。

我做“开始任务”,睡觉(一段时间);然后“结束任务”。然而,如果我睡了5分钟以上,我的应用通常会被杀死。我在附近看到有文章提到应用程序可以在后台保持活动几个小时,究竟该如何实现?

回答

2

当你的应用程序进入后台时,系统会尝试回忆尽可能多的资源,因为你可以给它像图片,笔尖等。你有一个这样的通知。 (– applicationDidEnterBackground:等) 之后,根据资源使用顺序对所有后台生活应用进行“排序”。首先使用更多资源的应用程序。 然后当一个新的应用程序来到前台,如果系统认为它需要比目前更多的资源,它将开始杀死后台应用程序。使用上面的排序列表。

这意味着您在背景中使用的资源越少,您的应用程序的寿命就越长。但是,这不能保证它能活很长时间。 (一切都取决于用户的使用情况)。当它死亡时也没有通知!,所以你不能假设你的应用程序将活60分钟。

您可能想要阅读this Apple doc关于如何在后台执行某些操作(带有一些时间限制,偏离课程),也可能是UIApplicationDelegate类的引用。

希望它帮助;)

+0

感谢这个,我读过这些文档,但无法找到如何的事情,具体的说明。我想我可能会尝试使用“setKeepAliveTimeout:handler:”并将我的应用程序注册为VOIP应用程序,并查看Apple是否拒绝它......这似乎是最安全的选择。在此之前,我会尝试释放所有我的应用程序的资源,笔尖和图像,尽管它没有太多用处。 – Dimitris 2010-10-19 11:34:41

相关问题