gpt4 book ai didi

ios - 减少 iOS 后台位置电池使用

转载 作者:IT王子 更新时间:2023-10-29 08:16:34 25 4
gpt4 key购买 nike

我正在开发一个理想情况下需要在后台运行定位服务的 iOS 应用程序。我已经测试了重要位置,但这还不够准确。准确的位置是完美的,但这会消耗过多的电池生命周期,无法使应用程序正常运行。

为了解决这个电池问题,我想我找到了一个在 UIApplication:beginBackgroundTaskWithExpirationHandler: 中使用 NSTimer 的解决方案。这会打开位置然后立即再次关闭,这会触发位置更新并重置 backgroundTimeRemaining

但是,此解决方案仍然会消耗大量电池电量——每 3-4 小时消耗 15%-20%——即使位置信息每 9 分钟仅开启一秒钟也是如此。除了这个计时器之外,该应用程序没有在后台运行任何其他东西。我什至尝试在进入后台时释放所有 View ,以确保没有任何东西坐着消耗电池。

检查仪器内部,我发现应用程序在等待状态下使用了 0.0% 的 CPU 和 14 MB 内存。在这一点上,我对原因有点不知所措,特别是因为与 24/7 全天候运行相比,每 540 秒运行 GPS 1 秒并不能显着减少电池消耗。

我已经开始整理以下可能会导致问题的问题,我希望有人能给出答案或想法...

  • 以这种方式运行应用程序是否会阻止手机进入某种低功耗模式?

  • 启动 GPS 会消耗大量电量吗?

  • GPS 关闭后还会继续运行一段时间吗?

最佳答案

是的,WWDC 2011 session 312“使用仪器优化 iOS 性能和电源”在大约 45 分钟的标记处介绍了这一点。

当您使用完 GPS 后,它可以保持事件状态长达 10 秒,事件 radio 既可以唤醒设备,又可以防止设备“休眠”。

您将能够使用 Instruments 中的“能量诊断”模板看到这一点。

关于ios - 减少 iOS 后台位置电池使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10062264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com