当绑定活动被最近的应用程序杀死时,正确停止服务

时间:2016-06-13 10:45:27

标签: android android-service android-service-binding android-recents screen-off

我有一个使用Soundpool播放声音的绑定服务。如果应用程序正常退出(使用后退按钮),它会正常工作。

然而,当应用程序被最近的应用程序杀死时,在下一次运行中,服务(声音)表现异常,尤其是当屏幕关闭时。

详细说明:

  1. 当应用程序在被最近的应用程序杀死后启动时,我仍然可以在屏幕开启时正常播放声音。
  2. 当屏幕关闭时,声音在接下来的几秒钟内播放,然后开始闪烁。但是,当屏幕重新打开时,症状会消失。
  3. 我使用Android N测试过。代码没什么特别的,就像Android开发者网站上的这个link一样。

    我不知道正常退出和最近的应用程序杀死的应用程序之间有什么区别。

    如果应用程序已从最近的应用程序中删除,如何正确停止bound service。有什么帮助吗?

    由于

1 个答案:

答案 0 :(得分:0)

从最近的应用中杀死可能与某些设备上的强制停止相同,因此在这种情况下,活动上不会调用onPauseonStop,因此服务可能未正确绑定。< / p>

如果您的服务未绑定到正在运行的活动且未在前台运行,则系统可能随时停止该服务。