我的问题涉及Service
和IntentService
。问题如下。
在stopSelf()
(或Service
)某处调用IntentService
可以保证服务停止吗?
并且(如果在服务中调用stopSelf())在stopSelf()
调用之后是否必须执行返回语句以不执行代码?
据我所知,调用stopSelf()
可以阻止代码执行,以防它抛出异常,否则我找不到逻辑。
在Service(或IntentService)中某处调用stopSelf()可以保证服务停止吗?
是的,它确实。
在stopSelf()调用之后,返回语句是否必须不执行代码?
如果函数的返回类型不是return
,则仍需要void
(否则您的代码将无法编译)。 return
声明很可能会被执行,因为stopSelf()
会导致Service
异步停止。
据我所知,调用stopSelf()可以阻止代码执行,以防它抛出异常,否则我找不到逻辑。
通过调用stopSelf()
,您通知系统Service
已完成其“工作”,因此系统可以释放Service
持有的资源。这与用户按下后退按钮时调用的Activity
的onBackPressed()
的执行非常类似 - 系统完成Activity
释放资源。