我在这里读到了很多关于打瞌睡模式的问题,比如安卓打瞌睡模式, Android N Doze 模式 - 如何保持后台下载和处理?, 唤醒和打瞌睡模式还有许多其他人。但在很多回复中,意见不一。我自己无法测试(模拟器不支持我的处理器,我唯一的测试设备是android 5.1)。我想知道接下来的情况。我有一个控制媒体播放器的活动。在 Android 6.0 及更高版本的设备上,由于打瞌睡模式,它无法按预期工作。正如许多解决方案所说,为了防止打瞌睡模式,它应该在前台的单独进程中启动一个服务,并从那里控制媒体播放器。问题是:如果我在单独的进程中使用部分唤醒锁启动前台服务,除了显示通知之外什么也不做,并将控件留给我的活动中的媒体播放器,它是否应该阻止打瞌睡模式?或者除了通过窗口管理器保持屏幕打开之外还有其他方法吗?
根据这个问题并回答:
In 这个帖子9 月 17 日 Dianne Hackborn 的评论写道:
已经运行前台服务(带有相关通知)的应用程序不受打瞌睡的限制。
- Source (sec_aw)
看起来使用前台服务可以防止应用程序被 Doze 杀死。
但请注意,一些供应商(我知道三星,但可能还有其他供应商)创建了自己的 RAM 保护/电池节省工具。这些可能表现出与瞌睡完全不同的模式,并且通常还有一堆其他的障碍需要跨越。您也不能保证在这些设备上获得相同的行为 - 它们可能或多或少具有攻击性,而攻击性越大的设备往往在保持服务或其他活动方面更差。
也没有通用的方法来处理这些问题,但有人已经做了整个网站致力于展示供应商存在的问题以及潜在的解决方法。请注意,大多数有问题的供应商只提供最终用户解决方案,这意味着您(开发人员)无法在用户不做任何事情的情况下修复它。
虽然这很不幸,但这几乎就是公司实施自己的 Android 版本时发生的情况。另外,根据我自己在三星手机上的经验(主要是作为用户而不是开发人员),这些设置并不总是得到尊重,并且仍然会导致恼人的行为。
无论如何,只要 Doze 存在,前台服务就应该没问题。然而,对于其他供应商来说,所有的赌注都已落空,您将受到供应商实施某种类型的优化系统的摆布。在某些公开的操作系统上(再次参见前面链接的网站),您也别无选择,只能要求用户修复某些设置以保持功能正常运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)