2

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

4

2 回答 2

3

强制您的视图控制器卸载不会节省任何电池寿命。最好让操作系统在需要时担心您的应用程序内存不足。如果您使用后台模式在用户旅行大量时通知您的应用程序,则您无需担心这一点,因为您的应用程序实际上并未在后台运行,而只是有机会响应位置变化。如果您使用的是恒定位置背景模式(用于 GPS 应用程序等),这会有点问题。

于 2012-04-08T17:49:01.443 回答
2

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

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

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

于 2012-04-08T17:51:08.543 回答