0

当我的 iOS 应用程序在后台保持较长时间时,它会返回到 rootViewController。为了证明我有下面的图片 在此处输入图像描述

我一直导航到 ViewControllerC 并将应用程序保持在后台,当我在 30 分钟后返回应用程序时,应用程序显示 rootViewController 即 ViewControllerA。

我希望它保留在 ViewControllerC 上,因为它保留在 Whatsapp 中。我知道当系统内存不足时,我的应用程序(空闲应用程序)将从内存中删除,因此当我打开应用程序时,它将带我回到指定的初始视图控制器。但是为什么whatsapp不会发生这种情况呢?

4

1 回答 1

1

Apple 为这种情况提供了解决方案:UIViewController 和 App Delegate 具有允许您保存和恢复状态的方法。当应用程序进入后台时,当前配置(视图控制器的视图正在显示的内容)被保存。这样,即使应用程序退出,当它重新启动时,它也可以在它出现给用户之前恢复到该配置。因此,从背景中回来并退出看起来就像从单纯的背景中回来一样。

有关完整的详细信息,请参阅 Apple 的文档。这是一个很好的起点:

https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/PreservingandRestoringState.html

于 2018-03-31T06:05:36.910 回答