我的问题与Service
和IntentService
有关。问题如下。
在stopSelf()
(或Service
)中某个地方调用IntentService
是否可以保证服务停止?
并且(如果从Service中调用stopSelf()),是否必须强制执行return语句以在stopSelf()
调用之后不执行代码?
据我所知,调用stopSelf()
可以在异常抛出时停止执行代码,否则我找不到逻辑。
最佳答案
在Service(或IntentService)中某个地方调用stopSelf()是否可以确保服务停止?
是的,它确实。
在stopSelf()调用之后,是否必须强制执行return语句才能不执行代码?
如果函数的返回类型不是return
,则仍然需要void
(否则您的代码将无法编译)。 return
语句很可能会执行,因为stopSelf()
会导致异步停止Service
。
据我所知,调用stopSelf()可以在代码抛出异常的情况下停止执行代码,否则我找不到相应的逻辑。
通过调用stopSelf()
,您可以通知系统Service
已完成其“作业”,因此系统可以释放Service
持有的资源。这与Activity
的onBackPressed()
的执行非常相似,当用户按下“后退”按钮时-系统完成Activity
释放资源的调用。
关于android - stopSelf()是否保证服务停止(以及如何)?如果是这样,是否需要返回(以防内部调用stopSelf)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55365602/