在我的Android测试设备上,我可以转到Settings->Developer Options
并设置Don't keep activities
一个选项,以便在用户离开时立即销毁活动。
iOS开发人员是否有与ViewControllers相关的功能?
EDIT
我知道Activity
不是iOS中的概念。这就是为什么我的问题涉及ViewControllers
,这是最接近的概念。
当您在iOS设备上按主页按钮时,该应用程序将从屏幕上消失。但它的视图控制器仍然在后台运行。如果双击主页按钮,则可以看到所有可以恢复的应用程序。用户或开发人员是否有选择避免这种情况,因此当按下主页按钮时,应用程序将关闭而不是在后台运行?
答案 0 :(得分:3)
"活动"不是iOS中存在的概念。与iOS中的所有对象一样,只要存在保留它们的内容,对象就会存在。一旦释放所有保留器,对象就会被释放,从而被破坏。
这适用于视图控制器。如果您提供视图控制器堆栈并将其关闭,如果您不持有这些控制器,它们将被释放。如果您没有看到控制器被释放,则可能是设计不正确(例如强属性而不是弱)或内存泄漏,这可能是由于多种原因造成的,常见的是保留周期。
要在应用进入后台时终止该应用,请将UIApplicationExitsOnSuspend
键添加到您的plist,其值为Yes
。
为客户/测试人员提供此类选项的创造性方法是在您的Settings.bundle中提供此类切换,如果设置为YES
,则在应用程序启用时调用exit(0);
到背景(例如在applicationDidEnterBackground:
中)。不确定你的确切用例是什么,但是对于调试,这可以工作。