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

问题描述 投票:1回答:1

我的问题涉及ServiceIntentService。问题如下。

stopSelf()(或Service)某处调用IntentService可以保证服务停止吗?

并且(如果在服务中调用stopSelf())在stopSelf()调用之后是否必须执行返回语句以不执行代码?

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

android android-service android-intentservice
1个回答
1
投票

在Service(或IntentService)中某处调用stopSelf()可以保证服务停止吗?

是的,它确实。

在stopSelf()调用之后,返回语句是否必须不执行代码?

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.