android - stopSelf() 是否保证服务停止(以及如何停止)?如果是这样,是否需要返回(以防 stopSelf 在内部调用)?
问题描述
我的问题关注Service
和IntentService
。问题如下。
在(或)stopSelf()
某处打电话是否保证服务停止?Service
IntentService
并且(如果从服务中调用 stopSelf())是否强制返回语句在stopSelf()
调用后不执行代码?
据我所知,调用stopSelf()
可以停止代码执行,以防它引发异常,否则我找不到逻辑。
解决方案
在服务(或 IntentService)的某处调用 stopSelf() 是否保证服务停止?
是的,它确实。
并且在 stopSelf() 调用之后是否强制返回语句不执行代码?
return
如果函数的返回类型不是void
(否则您的代码将无法编译),则仍然需要。该return
语句很可能将作为异步stopSelf()
停止的结果执行。Service
据我所知,调用 stopSelf() 可以停止代码执行,以防它引发异常,否则我找不到逻辑。
通过调用stopSelf()
您通知系统Service
完成其“工作”,以便系统可以释放Service
所持有的资源。这与用户按下后退按钮时调用的Activity
's 的执行非常相似——系统完成释放资源。onBackPressed()
Activity
推荐阅读
- vuejs2 - 如何在 vue 的 vue-good-table 上添加编辑按钮
- python - Python/Ctypes - 访问指针(到数组)时出现分段错误
- openlayers-3 - 获取 GML 选项错误
- css - 使用 sass 7-1 架构跨代码库使用的类的样式放在哪里
- java - Autowired 在 Bean 类 Spring 中不起作用
- java - Android:为 Spinner 标题和下拉菜单设置不同的布局
- r - 闪亮的应用多元回归
- java - 升级到 Java 8
- python - 带有 Access ODBC 的 pyodbc fast_executemany 使 Python 解释器崩溃
- ubuntu - Flask + UWSGI + NGinx = 504 超时,除了 root