是否有相当于"不要保持活动"在iOS?

时间:2015-04-10 21:07:00

标签: ios android-activity

在我的Android测试设备上,我可以转到Settings->Developer Options并设置Don't keep activities一个选项,以便在用户离开时立即销毁活动。

Destroy Activities

iOS开发人员是否有与ViewControllers相关的功能?

EDIT

我知道Activity不是iOS中的概念。这就是为什么我的问题涉及ViewControllers,这是最接近的概念。

当您在iOS设备上按主页按钮时,该应用程序将从屏幕上消失。但它的视图控制器仍然在后台运行。如果双击主页按钮,则可以看到所有可以恢复的应用程序。用户或开发人员是否有选择避免这种情况,因此当按下主页按钮时,应用程序将关闭而不是在后台运行?

1 个答案:

答案 0 :(得分:3)

"活动"不是iOS中存在的概念。与iOS中的所有对象一样,只要存在保留它们的内容,对象就会存在。一旦释放所有保留器,对象就会被释放,从而被破坏。

这适用于视图控制器。如果您提供视图控制器堆栈并将其关闭,如果您不持有这些控制器,它们将被释放。如果您没有看到控制器被释放,则可能是设计不正确(例如强属性而不是弱)或内存泄漏,这可能是由于多种原因造成的,常见的是保留周期。

要在应用进入后台时终止该应用,请将UIApplicationExitsOnSuspend键添加到您的plist,其值为Yes


为客户/测试人员提供此类选项的创造性方法是在您的Settings.bundle中提供此类切换,如果设置为YES,则在应用程序启用时调用exit(0);到背景(例如在applicationDidEnterBackground:中)。不确定你的确切用例是什么,但是对于调试,这可以工作。