我的问题与Service
和IntentService
有关。问题如下。
在stopSelf()
(或Service
)某处呼叫IntentService
是否可以保证服务停止?
并且(如果从Service中调用了stopSelf()),是否必须在stopSelf()
调用之后不执行代码的return语句?
据我所知,调用stopSelf()
可以在异常抛出时停止执行代码,否则我找不到逻辑。
答案 0 :(得分:1)
在Service(或IntentService)中的某个地方调用stopSelf()是否可以保证服务停止?
是的。
如果函数的返回类型不是在stopSelf()调用之后,是否必须强制执行return语句才能不执行代码?
GCM
,则仍然需要 return
(否则您的代码将无法编译)。 void
语句很可能会执行,因为return
会导致stopSelf()
异步停止。
据我所知,调用stopSelf()可以在代码抛出异常时停止执行代码,否则我找不到相应的逻辑。
通过调用Service
,您会通知系统stopSelf()
已完成其“作业”,因此系统可以释放Service
所拥有的资源。这与Service
的{{1}}的执行非常相似,当用户按下后退按钮时,系统会完成Activity
的释放资源。