android stopSelf()是否保证服务停止(以及如何)?如果是,是否需要返回(如果内部调用stopSelf)?

jvlzgdj9  于 2023-06-20  发布在  Android
关注(0)|答案(1)|浏览(125)

我有关于ServiceIntentService功能的问题。要询问的要点如下:
Service(或IntentService)中手动调用stopSelf()是否能保证服务停止?
如果在Service中的某个位置手动调用stopSelf(),调用后的代码是否会执行?
// As I know, calling stopSelf() can stop code execution in case it throws an exception, else I can't find a logic for that.

nbewdwxp

nbewdwxp1#

在Service(或IntentService)中调用stopSelf()是否保证服务停止?
是的,是的。
在stopSelf()调用之后,return语句是否强制不执行代码?
如果函数的返回类型不是void,则仍然需要return(否则代码将无法编译)。return语句最有可能在stopSelf()导致异步停止Service时执行。
据我所知,调用stopSelf()可以在抛出异常的情况下停止代码执行,否则我找不到这样做的逻辑。
通过调用stopSelf(),您可以通知系统Service已完成其“作业”,因此系统可以释放Service所占用的资源。这非常类似于当用户按下后退按钮时调用的ActivityonBackPressed()的执行-系统完成Activity释放资源。

相关问题