我有一个在后台运行的应用程序,因为它需要使用位置更新。但是,因为我不想消耗电池。我想确保在app切换到后台运行时卸载所有视图控制器。
答案 0 :(得分:3)
强制视图控制器卸载不会节省任何电池寿命。最好让操作系统担心在需要时将你的应用程序从内存中删除。如果您使用后台模式通知您的应用程序,当用户已经旅行了大量时,您需要更加担心这一点,因为您的应用程序实际上并未在后台运行,但只有机会响应位置更改。如果您使用的是恒定位置背景模式(对于GPS应用程序等),这是一个更大的问题。
答案 1 :(得分:2)
您无需卸载视图控制器,但您需要关闭位置更新。如果您要在App Delegate中开始位置更新,请输入以下内容:
- (void)applicationWillResignActive:(UIApplication *)application
{
[myLocationManager stopUpdatingLocation];
}
如果您的位置管理员在与App Delegate不同的位置启动,您也可以使用viewWillDisappear:
方法执行此操作。