我们目前正在开发一个 Android 应用程序,它是一个健身追踪器应用程序。它在后台持续运行,在大多数设备上运行良好,但我们一直遇到应用程序在某些三星设备上完全死机的问题。经过一番调查,似乎某些三星设备具有完全自定义的“应用程序优化”功能(http://forums.androidcentral.com/samsung-galaxy-s6/599408-app-optimisation-after-updating.html),其中基本上是打瞌睡功能的(非常)原始版本,存在于更高版本的 Android 中,如果应用程序三天没有使用,基本上只会谋杀应用程序。
由于这个应用程序或多或少只做日志记录,并没有打开活动,它给我们带来了一个大问题,因为这个功能在许多三星设备上都是预先启用的。这个问题是通过使用前台服务来解决的,但这是一个解决方案的大锤,需要通过不断的通知来打扰用户,我们真的不需要应用程序处于前台 - 我们可以使用正常的电源安卓管理。
三星应用程序优化功能明确表示,如果应用程序三天未使用,它将“优化”。有没有人了解三星认为“使用”的东西,我可以以某种方式触发它吗?
旁白:在我看来,这是一个实施得很糟糕的功能,使 Android 上的开发更具敌意。除了我们的用例之外,它还会破坏任何信使应用程序。如果不是因为 Facebook Messenger 和 Whatsapp 天生就可以豁免该应用程序,那么用户会发疯,因为这会破坏他们的体验。