其他分享
首页 > 其他分享> > 我可以在Android 8.0中使用数据记录后台服务吗?

我可以在Android 8.0中使用数据记录后台服务吗?

作者:互联网

我的应用程序依赖于在后台服务中每秒记录电池温度以及其他几个传感器变量,后台服务可以从主活动启动并继续在后台运行直到它停止(通过主活动中的另一个按钮).这在Android 7.0及更低版本中运行良好,但在阅读Android 8.0时,它看起来非常严重地限制了后台服务.我仍然可以执行当前的数据记录,还是不再可能?

解决方法:

如果您的用例是在此处理期间将应用程序保持在前台,那么,
基于documentation,应该没有任何问题,因为如果您的应用程序不在Foreground中或者没有前景应用程序连接到应用程序,则会应用后台服务的限制

在您的应用程序进入后台后X分钟(基于我的观察结果大约1 – 2分钟)后台服务的所有限制都将启动,您的服务将被停止,就像您已调用Service.stopSelf()一样

您应该避免连续执行此操作,因为如果打算在后台执行此操作,则会影响设备的电池寿命.您可以使用JobScheduler / AlarmManager定期执行日志记录.

如果您仍想继续,可以使ForegroudService服务并执行操作,但如果系统将您的任务视为CPU密集型,那么这种方法将无法正常工作

标签:android-8-0-oreo,android
来源: https://codeday.me/bug/20190929/1833908.html