我拥有(并且目前拥有)三星设备,因此从用户的角度来看,我了解一些它的工作方式。技术规格以及内部运作是完全不同的问题,我无法回答。
系统可以检测您是否打开了应用程序。三星在其应用程序优化中使用这一功能,并将节省那些未使用超过三天的应用程序的电力。然而,这是一个很糟糕的系统。
它忽略了可能对应用程序至关重要的后台进程,即使是您积极使用的应用程序,例如健身追踪器,也会出现问题。引用应用程序优化列表中所说的话:
“为了节省电池电量,已经超过3天没有使用的应用程序将被指定为节能模式。被指定为节能模式的应用程序可能不会显示通知”
(从挪威语翻译而来,最初取自运行Android 6的S6)
因此,已经手动或自动设置(3天未使用)的应用程序可能会在后台进程方面出现各种问题。但请记住,用户可以将任何应用程序设置为永不节省电池,并忽略自动设置。因此,在考虑可能的解决方案时,请记住这一点。
有一种情况您不需要担心应用和应用优化:当完全禁用应用优化时。
除此之外,您实际上只能做两件事:
1. 请求使用三星手机的用户禁用您的应用程序的电池优化以防止问题。
2. 如@MinaSamy建议(在他们现在被删除的答案中),使用SyncAdapter并进行定期同步。请注意,我尚未测试过这一点,因此不知道它是否有效。
还有第三个选项,并不是解决方案,但您可以忽略它并赌博应用程序优化已被禁用,或者根本不关心它。
“有人了解三星认为什么是”使用“吗?我怎样才能触发它?
据我所知,除非三星添加了一些防止意外开启的保护措施或添加了某种最低活动要求,否则打开就足够了。它似乎是一个“愚蠢”的功能,它运行硬编码规则而不是实际检测应用程序使用并相对于此设置节能的动态系统。它很“容易启用”,但幸运的是也很容易禁用。
意思是您无法触发保持应用程序处于活动状态的事件(除非 SyncAdapter 成功)。
为了让事实清晰,来自 @Neil's answer:
似乎用户可以这样做,因此必须有一些数据库或设置控制它。
确实存在这种情况。总共有四个设置,其中三个是应用程序特定的,并存储在数据库中(或其他形式的数据存储中)。虽然极浅,但这四个设置可以用于改变应用程序优化的行为:
- 始终进行优化
- 自动优化
- 从不优化
- 禁用应用程序优化
前三个选项是针对每个应用程序的,这意味着每个应用程序都可以有单独的设置。禁用应用程序优化就像您所期望的那样:它会禁用所有应用程序的整个功能。如果完全禁用,则不会进行任何优化。
还有一个网站列出了按品牌绕过优化的方法。三星的条目与我说的差不多:告诉用户手动禁用优化。没有开发者解决方案。