Android Service 线程问题
来源:互联网 发布:大数据相关体系架构 编辑:程序博客网 时间:2024/04/30 14:47
Service的线程问题
默认情况下Service是运行在启动该Service的应用主线程的,如果Service中的操作占用大量的CPU资源或有阻断操作(比如播放MP3或者访问网络)会影响应用主线程的响应性能,甚至会造成“应用程序无响应(ANR)”问题。
什么是StartedService?
就是应用程序组件中通过startService()启动的服务。
StartedService的生命周期问题
一个StartedService一旦被启动将无期限的运行下去。除非调用stopSelf()把自己停止,或者其它应用程序组件调用stopService()把该服务暂停。
所以,为了节省系统资源和电池电量,在通过startService启动一个服务以后,在工作完成以后一定要调用stopSelf()把服务停止。
多次通过startService启动同一个Service会怎么工作?
如果该Service正在运行,多次通过startService启动该Service并不会启动多个该Service。只有第一个请求,才会导致该Service被创建,也就是该Service的onCreate()回调函数会被调用;其它的请求只是会调用onStartCommand()回调函数。
StartedService的并发性问题
在onStartCommand()返回之前,如果有另外的请求通过startService()函数传递到该Service,该Service会一直等到onStartCommand()返回之后才会再次调用onStartCommand()。
onStartCommand的返回值
有三个START_NOT_STICKY、START_STICKY和START_REDELIVER_INTENT,很有用,需要认真了解后使用。
- Android Service 线程问题
- Android Service 线程问题
- Android Service 线程问题
- Android Service 线程
- android中service与线程
- Android-Service通知与线程
- android service 权限问题
- Android Service 问题总结
- 【我的问题】android:service里的一个内部线程类可以公用service的数据吗
- Android中Service与Activity的有关于进程与线程的问题
- Android中Service与Activity的有关于进程与线程的问题
- Android Service : Service注意的问题
- Android Service介绍(Service与线程关系)
- 关于android中service与线程
- Android平台调用Web Service:引入线程
- android系统service组件的线程关系
- Android0909<十四>(Service、Android线程)
- Service IntentService Android中的线程 MediaPlayer
- UIday1901:IOS中sqlite的使用
- 欢迎使用CSDN-markdown编辑器
- 面试心得与总结---BAT、网易、蘑菇街
- 杭电2100Lovekey
- 随机森林代码
- Android Service 线程问题
- Druid连接池
- Android Studio中SVN的文件的颜色所代表的意思
- python多线程使用例子threading + Queue
- vi查找替换命令详解
- Android samples API Demos之UI篇1(ActionBarCompat-ShareActionProvider)
- gdb 如何制作(gdb target,gdb server)
- 【老罗笔记】哪来的天才——练习中的平凡与伟大
- kafka原理