iPhone核心位置startMonitoringSignificantLocationChanges

时间:2011-10-02 12:33:14

标签: iphone core-location

我需要知道用户何时接近某个位置。

在iPhone 4上我使用startMonitoringForRegion:desiredAccuracy:但3GS(我不支持)不支持此功能,所以在这种情况下我被迫使用startMonitoringSignificantLocationChanges

问题是,startMonitoringSignificantLocationChanges会导致委托被调用(并且如果不是,则应用程序将被启动到后台),即使它与我的需求完全无关。 / p>

我很容易检测到委托调用是否与我相关,但我想知道另一件事:如果我被启动到后台然后我发现该调用是而不是相关的,我应该安静地留在后台,还是应该以某种方式中止应用程序并将自己从背景中删除直到下一次?

2 个答案:

答案 0 :(得分:1)

如果您不需要对位置更新执行任何操作,只需从方法调用返回,并在后台保持空闲状态。不要试图中止应用程序,这会在下次重大位置更改时导致应用程序不必要的重新加载(使用电池)。如果决定它需要内存空间,操作系统将终止后台应用程序。

答案 1 :(得分:0)

我认为在回调AppDelegate时,如果确定不需要调用,则只需返回;出去做。将调用位置更改的回调,但除非您决定停止监视,否则位置监视将继续。该应用程序不会进入前台,只是来自AppDelegate内部的方法调用。