使用多个 CLLocationManager 实例是否会造成性能损失

2024-02-02

我的应用程序中至少有两个控制器当前使用它们自己的 CLLocationManager 实例。然而,我很好奇使用多个​​实例是否实际上会给手机带来任何额外的负担 - 除了不同实例的额外内存之外。

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


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

当您的应用程序不再需要它时(即:在 applicationWillResignActive: 中),请务必停止所有 CLLocationManager 实例上的位置更新,以便可以关闭 GPS 硬件以节省电池。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用多个 CLLocationManager 实例是否会造成性能损失 的相关文章

随机推荐