如何强制ViewController卸载?

时间:2012-04-08 17:08:23

标签: ios

我有一个在后台运行的应用程序,因为它需要使用位置更新。但是,因为我不想消耗电池。我想确保在app切换到后台运行时卸载所有视图控制器。

2 个答案:

答案 0 :(得分:3)

强制视图控制器卸载不会节省任何电池寿命。最好让操作系统担心在需要时将你的应用程序从内存中删除。如果您使用后台模式通知您的应用程序,当用户已经旅行了大量时,您需要更加担心这一点,因为您的应用程序实际上并未在后台运行,但只有机会响应位置更改。如果您使用的是恒定位置背景模式(对于GPS应用程序等),这是一个更大的问题。

答案 1 :(得分:2)

您无需卸载视图控制器,但您需要关闭位置更新。如果您要在App Delegate中开始位置更新,请输入以下内容:

- (void)applicationWillResignActive:(UIApplication *)application
{
    [myLocationManager stopUpdatingLocation];
}

如果您的位置管理员在与App Delegate不同的位置启动,您也可以使用viewWillDisappear:方法执行此操作。