自从 Marshmallow 引入打瞌睡模式,以及 Oreo 引入的进一步限制后,在后台连续工作变得更加困难。我阅读了很多文章,建议使用 PARTIAL_WAKE_LOCK 和 IGNORE_BATTERY_OPTIMIZATION 能够在后台进行监控工作。
据我了解,启动 Marshmallow 都不能保持后台服务覆盖打瞌睡,因为它会在打盹期间暂停执行。启动奥利奥,如果应用程序关闭,后台服务将完全停止。但是,当使用前台服务以使其始终运行时,即使用户关闭屏幕,它们也会很有用。(如果我错了请纠正我)
有人可以清楚地解释每种方法之间的区别以及何时使用每种方法吗?