首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >service.startForeground是否意味着觉醒?

问service.startForeground是否意味着觉醒?
EN

Stack Overflow用户
提问于 2018-08-24 10:29:10
回答 2查看 2.7K关注 0票数 4

问题

我想知道我们是否需要提供WakeLock,还是service.startForeground()命令对我们来说是这样的呢?我在文件里什么都没找到。

目标

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

上下文

我们正在开发一个Android库来捕获200 Hz的传感器数据,时间长达几个小时(研究环境)。现在,我们提供一个WakeLock并以ForegroundService的形式启动捕获服务,以确保我们的捕获不会在设备不被使用时停止。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-24 10:52:37

回答我自己的问题(如果没有其他人找到更多关于这个问题的细节):

据我理解,“前台”只是描述了用户会注意到应用程序是否被杀死,例如在浏览一个大页面时。由于这个原因,系统被要求尽量避免关闭服务。

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

为了使能够一直收集传感器数据,从用户定义开始到停止,我们仍然需要自己开发WakeLock。

票数 13
EN

Stack Overflow用户

发布于 2019-03-07 10:45:29

不,当设备进入睡眠状态时,可以使用wakelock确保您的前台服务运行。

如果必须使用部分唤醒锁,请遵循以下建议:

  • 确保你的应用程序的某些部分保持在前台。例如,如果需要运行服务,则启动前台服务。这在视觉上向用户表示您的应用程序仍在运行。

practices

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52002533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档