我在这里阅读了许多有关android Doze模式,Android n Doze模式的问题 - 如何保持背景下载和处理?,Wakelock and Doze模式以及许多其他问题。但是在许多答复中,观点是不同的。我无法自己测试(模拟器不支持我的处理器,而我唯一的测试设备是Android 5.1(。我想知道下一个情况。我有一个控制媒体播放器的活动。在具有Android 6.0及更高较高的设备上,它无法像预期的DOZE模式一样工作。正如许多解决方案所说的旨在防止打ze模式的那样,它应该在前景中单独的过程中启动服务,并从那里控制媒体播放器。问题是:如果我在单独的过程中使用部分尾锁启动前景服务,除了显示通知并将控件保留给我的活动中的媒体播放器外,这将不做任何事情,是否应该防止打ze舞模式?或者,除了将屏幕从窗口管理器中启动以外,还有其他方法吗?
根据此问题和答案:
在这篇文章的评论中,戴安妮·哈克伯恩(Dianne Hackborn(写道:
一直在运行前景服务(带有相关通知(的应用程序不受打击的限制。
- 源(sec_aw(
看起来使用前景服务可以防止该应用被打do杀。
请注意,有些供应商(我知道三星,但可能还有其他供应商(创建自己的RAM保护/节省电池工具。这些可能表现出与Doze完全不同的模式,通常还有其他箍可以跳过。您也不能保证在这些设备上获得相同的行为 - 它们可能或多或少具有侵略性,而积极进取的行为对于保持服务或活着的任何东西往往会更糟。
也没有通用的方法来处理这些问题,但是有人制作了一个专门展示供应商有问题的网站以及潜在的解决方法。请注意,大多数有问题的供应商只能产生最终用户解决方案,这意味着您(开发人员(无需用户做某事就无法修复它。
虽然这是不幸的,但这几乎是当公司实施自己的Android版本时会发生什么。另外,根据我自己的经验(主要是用户而不是开发用户(,在三星手机上,设置并不总是受到尊重,并且仍然会引起烦人的行为。
无论如何,只要有do乱,前景服务就应该很好。但是,在其他供应商上,所有赌注都关闭了,您将受到供应商实施某种类型的优化系统的摆布。在某些裸露的操作系统上(再次,请参阅前面的网站(,您也别无选择,只能要求用户修复某些设置以使内容保持活力。