android - service.startForeground 是否意味着唤醒锁?

标签 android wakelock android-wake-lock foreground-service

问题

我想知道我们是否需要获取 WakeLock,或者 service.startForeground() 命令是否为我们完成了?我没有在文档中找到任何内容。

目标

我们希望删除可能会减慢服务启动速度的不必要的内容,因为我们希望尽快开始捕获传感器数据并且服务可能会频繁重启。

上下文

我们正在开发一个 Android 库,以大约 200 Hz 的频率捕获传感器数据长达几个小时(研究环境)。现在我们获取一个 WakeLock 并启动捕获服务作为 ForegroundService 以确保我们的捕获在设备未被使用时不会停止。

最佳答案

回答我自己的问题(如果没有其他人找到关于此的更多详细信息):

在我的理解中,“foreground”只是描述用户会注意到应用程序是否被终止,例如浏览大页面时。为此,要求系统尽量避免终止该服务。

  • 仅仅因为前台服务正在运行可能并不意味着 CPU 无法进入深度 sleep 模式。

为了始终收集传感器数据,从用户定义的开始到停止,我们仍然需要自己获取WakeLock

关于android - service.startForeground 是否意味着唤醒锁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52002533/

相关文章:

android - WakeLock 已完成,但仍然存在错误,即使我正在释放它

java - 将回调从 JavaScript 传递到 Java (Android)

android - SyncAdapter 始终处于挂起状态

java - 部分唤醒锁不适用于 Android Wear

android - Android 的 Wakelock 是后台服务的必需品吗?

android - GCM - GCMBroadcastReceiver 没有被调用

android - 如何在android中的单个 Activity 中为不同的 fragment 使用不同的工具栏?

java - LoginButton 中的 setFragment 无法应用于 MainFragment

android - 从解锁屏幕安卓唤醒手机

java - 使用 wakelock.release() 关闭应用程序时 Android 应用程序崩溃