在后台播放音乐时减少电池消耗
Posted
技术标签:
【中文标题】在后台播放音乐时减少电池消耗【英文标题】:Reduce battery drain when playing music in background 【发布时间】:2013-06-26 16:36:03 【问题描述】:我有一个应用程序在后台播放白噪声/环境声音以帮助用户入睡/保持睡眠,因此它旨在运行整夜并在后台和/或屏幕锁定时播放。结果我显然看到了电池消耗,但是我可以采取任何措施来减少这种电池消耗吗?
AVAudioPlayer 和一些 NSTimers 应该是应用程序在后台/屏幕锁定时唯一运行的东西,但我不确定如何确定是否有任何其他进程同时运行正在杀死电池。我确信 Instruments 中的某些内容可以告诉我,但我不确定该使用哪一个 - 它们似乎旨在分析当前正在运行的应用程序,而不是当前在后台运行的应用程序。
【问题讨论】:
所以您的问题是您的应用正在运行哪些进程以及如何找到它们? 是的,但具体是哪些进程在运行之后我锁定屏幕或点击主页按钮。 如果有任何其他提示/技巧可以减少一般的电池消耗。 您要让哪些计时器继续运行?例如,如果您使用计时器来告诉用户他们睡了多长时间,那么在他们睡着时创建一个 NSDate 对象并在他们醒来时再次创建一个对象会更有效,并获取它们之间的时间间隔. 我确实有类似的东西,是的。有没有办法确定哪些 NSTimer 当前正在运行? 【参考方案1】:回答这个问题可能晚了,但也许这会对最近遇到这个问题的人有所帮助。如果您在后台不断调用具有 Timer 或 NSTimer 的任务,则能量影响可能很高并导致电池消耗。例如,我正在使用 Timer 更新 UISlider,这会导致大量电池消耗。
要更好地调试电池问题,请转到调试导航器并选择能源影响。这将向您显示能源影响是否以及何时很高。运行您的应用程序并查看能源影响以查看问题。然后注释掉计时器并运行以查看能量影响是否仍然很高。希望这对某人有所帮助。
【讨论】:
以上是关于在后台播放音乐时减少电池消耗的主要内容,如果未能解决你的问题,请参考以下文章