【发布时间】:2023-03-25 10:28:02
【问题描述】:
我目前正在测试最新的 iOS4 功能,以将我的位置感知应用置于后台。嗯,它确实有效!但另一方面,处理巨大的电力使用是相当困难的。
该应用在过去四个小时内消耗了大约 50% 的电池电量。它阅读了 Apple 关于此主题的 entire official documentation,但我仍然不确定我的应用程序的哪些部分仍在运行以及哪些功能已暂停(在 UI 绘图旁边,应该很清楚)。
我不使用任何真正的样板代码,而是使用像 ASIHTTPRequest 这样的扩展库来与我的网络服务通信。与朋友的汽车进行的测试是否表明网络连接和定位服务在我使用时仍在运行,即
[locationManager startMonitoringSignificantLocationChanges];
Apples Documentation on不同的应用状态
后台:应用程序在后台执行代码 [...]
我应该写一个“裸机”函数来接收和发送这个位置数据吗?我是否应该在应用程序驻留在后台时删除所有其他对象以减少内存占用?似乎还没有任何最佳做法。
有什么想法吗?也许你们可以为我提供一些你的见解。谢谢。
编辑: 有一个名为 Energy Diagnostics Instruments 的新 Instruments 工具可以记录连接设备的任何电量使用情况(适用于 iPhone 3GS 及更高版本)。设备上的设置应用程序-> 开发人员-> 电源使用中还有另一项服务。在现场测试您的电源使用情况非常棒。创建的日志可以稍后在仪器中拉取。
参考: WWDC 2010 Session 309 - Advanced Performance Analysis with Instruments
【问题讨论】:
标签: iphone background ios4 multitasking