使用多个CLLocationManager实例是否存在任何性能损失

时间:2010-09-01 01:47:35

标签: iphone core-location cllocationmanager

我的应用程序中至少有两个控制器当前使用自己的CLLocationManager实例。我很好奇但是如果使用多个实例实际上会给手机增加额外的负担 - 超出了不同实例的额外内存。

iPhone会多次ping GPS硬件,还是使用某种调度方式,以便硬件被抽象出来并转发给所有听众?我正准备编写自己的抽象层来处理多个观察者,但想检查是否有任何知识表明它没有必要。

1 个答案:

答案 0 :(得分:11)

我会说不,这不会是问题或性能损失。在一个应用程序中拥有多个CLLocationManager实例并不比使用CLLocationManagers在后台拥有多个应用程序更昂贵。操作系统根据所有CLLocationManagers的组合请求配置GPS /小区无线电以实现最低功耗。

当您的应用不再需要时,请务必停止所有CLLocationManager实例的位置更新(例如:在applicationWillResignActive :),以便关闭GPS h / w以节省电池。