是否需要为IOS 4.0多任务支持方案保存状态?

时间:2011-03-15 21:26:43

标签: iphone ios ios4 multitasking

当我需要为iPhone应用程序保存状态时,我有点困惑。特别是对于一个Iphone IOS版本支持多任务处理的场景,当你回到它时,它看起来确实处于相同的状态(无论如何我的简单应用程序)。

问题 - 您能否澄清“需要为iPhone应用程序保存状态”以及多任务处理支持如何协同工作。

希望响应可以帮助澄清诸如以下方面:

  1. 对于多任务支持方案(当用户没有明确终止应用程序时),是否有需要保存状态?或者IOS会为你做这件事(对于我的简单应用程序来说它似乎有用)。

  2. 如果对1的答案是肯定的,那么你真的需要在什么时候保存状态?

  3. 如果对1的答案为否,那么当IOS确保您的应用程序在后台运行时,您输入的确切数据/状态与非丢失的数据/状态是什么?

  4. 感谢

3 个答案:

答案 0 :(得分:2)

支持多任务处理所需要做的就是编译4.0或更高版本。

您应该将应用程序数据保存到文件中,但IOS会将您的所有视图和视图控制器保留在内存中,并在应用程序切换回来时从中断处继续。

请注意,当您的应用在后台时,IOS可以随时完全终止它,以尝试重新声明内存,以确保您的用户数据保持不变。

答案 1 :(得分:2)

通常使用多任务处理,应用程序继续运行,不需要显式保存应用程序的状态。但是,如果手机的内存不足,它可能会决定在应用程序处于后台模式时转储它。

对于没有后台模式的手机(例如3G),您总是需要保存状态。

从底线开始,如果稍后将应用程序从内存中删除,您将需要在进入后台时保存状态。你只需要在重新启动时阅读它,而不是从后台回来。

就“需要保存什么状态”而言,它实际上取决于您的特定应用。也许是选中的标签或导航?很大程度上取决于用户对不丢失任何工作的期望。

答案 2 :(得分:2)

1A。是。因为...

1B。你不知道。操作系统通常会在较新的设备上保存状态,但这并不能保证,并且不会总是发生。在较旧的设备上,操作系统不会保存状态。

2A。即使答案为1B。是的,操作系统仍然可以删除应用程序的状态以节省内存。因此,在您的应用暂停后,您仍然需要保存任何您不希望丢失的状态。

3A。如果你的应用程序没有检查恢复时钟,你的应用可能会失去时间跟踪(来自NSTimer滴答等)。