我的问题与ServiceIntentService有关。问题如下。

stopSelf()(或Service)中某个地方调用IntentService是否可以保证服务停止?

并且(如果从Service中调用stopSelf()),是否必须强制执行return语句以在stopSelf()调用之后不执行代码?

据我所知,调用stopSelf()可以在异常抛出时停止执行代码,否则我找不到逻辑。

最佳答案

在Service(或IntentService)中某个地方调用stopSelf()是否可以确保服务停止?


是的,它确实。


  在stopSelf()调用之后,是否必须强制执行return语句才能不执行代码?


如果函数的返回类型不是return,则仍然需要void(否则您的代码将无法编译)。 return语句很可能会执行,因为stopSelf()会导致异步停止Service


  据我所知,调用stopSelf()可以在代码抛出异常的情况下停止执行代码,否则我找不到相应的逻辑。


通过调用stopSelf(),您可以通知系统Service已完成其“作业”,因此系统可以释放Service持有的资源。这与ActivityonBackPressed()的执行非常相似,当用户按下“后退”按钮时-系统完成Activity释放资源的调用。

关于android - stopSelf()是否保证服务停止(以及如何)?如果是这样,是否需要返回(以防内部调用stopSelf)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55365602/

10-09 03:41