您是否需要用于CPU密集型服务的WakeLock?

时间:2015-01-11 20:26:59

标签: android wakelock android-wake-lock

如果我的应用程序应该使用WakeLock,那么从文档中我并不是很清楚。在所有情况下,这些服务都以startForeground()开始:

  1. 处理音频并在AudioTrack上播放。 (CPU密集型)。
  2. 处理音频并编码为文件。 (CPU密集型)。
  3. 从Google Play服务接收定期位置更新(相隔5-10秒,可能会减少CPU密集度)。
  4. 我在我的设备上测试了前两个(Android 4.4和5.0的股票)> 15分钟(可能比他们需要保持运行的时间更长),服务继续运行,屏幕关闭,没有WakeLock。第三个我还没有测试过。我意识到设备可以具有不同的特性。

    我是否应该为这些服务使用WakeLock,或者CPU活动是否使设备不会睡眠?当设备未被使用时,它们不应该停止。

1 个答案:

答案 0 :(得分:3)

  

我是否应该为这些服务使用WakeLock

如果您不希望设备入睡,并且没有其他设备让设备保持清醒,是的。

  

CPU活动是否使设备不会睡觉?

没有

  

服务继续运行,屏幕关闭,没有WakeLock

然后:

  • 您的设备已接通电源(并且您具有关联的开发人员设置以在启用插件时保持CPU开启)或

  • 其他人持有WakeLock

  • 您的硬件专门用于不将设备置于睡眠模式或

  • 您误解了测试结果