问题
我想知道我们是否需要提供WakeLock,还是service.startForeground()命令对我们来说是这样的呢?我在文件里什么都没找到。
目标
我们希望删除那些可能会减慢服务启动速度的不必要的东西,因为我们希望尽快开始捕获传感器数据,并且服务可能会频繁地重新启动。
上下文
我们正在开发一个Android库来捕获200 Hz的传感器数据,时间长达几个小时(研究环境)。现在,我们提供一个WakeLock并以ForegroundService的形式启动捕获服务,以确保我们的捕获不会在设备不被使用时停止。
发布于 2018-08-24 10:52:37
回答我自己的问题(如果没有其他人找到更多关于这个问题的细节):
据我理解,“前台”只是描述了用户会注意到应用程序是否被杀死,例如在浏览一个大页面时。由于这个原因,系统被要求尽量避免关闭服务。
为了使能够一直收集传感器数据,从用户定义开始到停止,我们仍然需要自己开发WakeLock。
发布于 2019-03-07 10:45:29
不,当设备进入睡眠状态时,可以使用wakelock确保您的前台服务运行。
如果必须使用部分唤醒锁,请遵循以下建议:
https://stackoverflow.com/questions/52002533
复制相似问题