我有一个粘性服务,我通过填写手机的RAM来压力测试应用程序。一旦RAM满了,服务就会被破坏。由于它是一个粘性服务,当系统有足够的资源时它会自动重启。
但这只发生在Moto / Nexus这样的Android设备上。像Xiaomi或Lava这样的设备即使在5.1
上也不会重新启动粘性服务是否有人知道大量定制ROM的此类问题?在内存不足时安排重新启动服务的任何变通方法?
答案 0 :(得分:4)
所有股票Android设备都运行良好,因为他们使用AOSP ROM的
这些设备(HUAWEI,LAVA,XIAOMI)附带预安装的启动管理器或节能器(大多数华为设备)。如果应用程序配置不当,屏幕关闭后几秒/几分钟就会终止服务 - 或者重启后不会自动启动服务。
现在有了名为受保护的应用程序的功能,我尝试在我的应用程序中启用,但仍未在App Kill发布粘性服务。 另外,更有观察的是: - HUAWEI设备甚至没有前台服务
现在可能的解决方法是: -
我们可以使用Alarm Manager类来确保服务 在必要时运行。所以这个报警管理器可以用来 创建一个计时器,不时检查服务是否应该是 运行并重新启动它。需要考虑此时间间隔 可能对电池消耗产生影响。