2011-04-15 92 views
0

iphone是否支持第三方应用程序的多任务处理。可以向我解释如何。iphone:iphone中不能多任务

+2

认真吗?阅读随iPhone附送的书。它自iOS 4.0以来一直受到支持。另请参阅:http://www.apple.com/iphone/features/multitasking.html – 2011-04-15 07:22:13

+0

我不是说操作系统不支持多任务处理(可以在阅读电子邮件中的某些数据时,邮件)。它限制了第三方应用程序的多任务处理。它允许第三方应用程序保存其状态并执行其他任务。当从我们离开的位置恢复应用程序时,但它不允许第三方应用程序执行它的工作在后台。请纠正我,如果我错了。 – Angus 2011-04-15 07:39:39

+0

取决于应用程序以及该“工作”是什么。有一些例外情况,例如,音乐播放器可以在后台运行时继续播放音乐。 Apple在文档中非常清楚地解释了这些例外情况。阅读这些内容会让你的答案远远超过在此发布的人。 – 2011-04-15 07:42:13

回答

1

假设您的设备比iPhone 3G(或第一代iPod Touch)更新,那么是的,您的应用程序可能会在后台运行。请注意,即使iOS4不允许在旧设备上进行多任务处理。 iOS4及以上版本发生的情况是,当您按下应用程序的主页按钮时,会将当前应用程序切换到后台 - 但它仍在运行。

当使用游戏时,这意味着当应用程序发送到后台时,您必须使用您的应用程序委托暂停游戏,并且(可选)在返回时恢复游戏,或者显示“暂停菜单”。它还应该切换到低/空闲渲染循环(4FPS或类似),但是,iPad应用程序必须格外小心,这些应用程序不允许在当前处于后台的应用程序中进行OpenGL渲染(以我的经验)。对于这些情况,您必须完全禁用OpenGL渲染循环。这些步骤将阻止您的应用程序在后台使用不必要的处理能力。

通过双击设备上的主页按钮,您可以查看当前正在背景中运行的内容。所有应用程序的图标将出现在屏幕底部的滑动列表中。你可以按住它们来调出小X,让你终止这些过程。

+0

我的应用程序是否需要在后台运行时设置委托来处理它。我正在开发一个应用程序来从其他设备中检索日志文件。因此,如果应用程序转到后台,我的应用程序应该实现一个委托来处理该复制它。我不知道OpenGL渲染循环。 – Angus 2011-04-15 10:10:31

+0

由XCode iPhone模板项目生成的应用程序委托应该实现(或包含注释)所有负责前景和背景之间任务切换的功能。如果你没有做任何图形渲染(即它不是游戏),那么你不需要担心OpenGL。 – badgerr 2011-04-15 10:13:26

+0

感谢badgerr帮助我理解。 – Angus 2011-04-15 11:41:51