ios - 使用 LocationManager 时减少电池使用

标签 ios swift cllocationmanager

我正在制作一个程序,需要每 10 秒检查一次位置

我确实在应用程序委托(delegate)中启动了位置管理器并将其留在那里:

// I need it to be precise
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.startUpdatingLocation()

我做了很多研究,但没有发现任何东西。有什么可以减少电池的使用吗?

例如,每当 LocationManager 收到位置信息时就停止它,并在 10 秒过去并且程序需要该位置时重新启动?有什么建议吗?

最佳答案

主要有两个因素:

  1. 地点
  2. 准确度

首先,为什么每 10 秒需要一次?这是非常频繁的。 每分钟或几分钟怎么样?

其次,你需要十米的精度吗? 降低准确性将使操作系统节省电量。

最省电的方法是监控显着的位置变化,例如here .

检查您的用例。允许操作系统留出更多余地将延长电池生命周期。要求最精确的精度,以十秒为间隔会很快耗尽它。请在以后提问时发布您的用例。

关于ios - 使用 LocationManager 时减少电池使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48653794/

相关文章:

ios - 如何在 UIScrollView 中设置一个空的 UIStackView 以便我可以在运行时填充它?

ios - 提高 SceneKit Playground 速度

ios - 无法调用非函数类型 SKShapeNode 的值

objective-c - 如何更改 UITableViewController (Grouped) 文本颜色?

ios - 在 UITableViewCell View 中动画和更改 View

javascript - iPhone X 上带有 chrome 的 navigator.mediaDevices.getUserMedia 出现问题

ios - Swift:如何防止未显示的 UITableViewCells 在滚动时被关闭

iphone - 核心位置第一点无效

iphone - 当iPhone处于飞行模式时,CLLocationManager会在第一次获取纬度和经度值。

ios - CLLocationManager 在模拟器上不断生成 EXC_BAD_INSTRUCTION