Service小结

1、Service的start和bind状态有什么区别?

区别:(1)生命周期不同 startService:onCreate->onStartCommand->onStart 再次start:onStartCommand->onStart stop:onDestory。 bindService:onCreate->onBind 再次bind:不会再执行onBind unbind:onUnBind->onDestory

(2)是否自动销毁 1.start 启动状态的服务不会自动随启动组件销毁而自动销毁 2.bind 绑定状态的服务当启动组件销毁后会自动调用onUnbind和onDestory方法 (3)应用场景不同(使用而言) 1.start方式使得Service处理启动状态,适用于做后台计算(若耗时需子线程), 与启动组件无交互,相互独立。 2.bind方式使得Service可跟启动组件交互,双方进行通讯。

2、同一个Service,先startService,然后再bindService,如何把它停止掉?

stopService和stopSelf都可以停止startService()方式启动的service, 调用unbindService可解绑bindService()方式启动的service。 先停止服务还是先解绑服务的顺序是无所谓的,两者都调用了才能停止掉它。 据官方文档可知:若被停止的服务依然有ServiceConnection 与其绑定,则服务不能销毁, 直至我们把所有ServiceConnection 解绑。若所有ServiceConnection 解绑后,系统会自动销毁服务, 但有使用startService()启动的情况,我们不得不再调用一次stopService来销毁它。

3、你有注意到Service的onStartCommand方法的返回值吗?不同返回值有什么区别?

onStartCommand()方法必须返回一个整数,这个整数是一个描述了在系统的杀死事件中, 系统应该如何继续这个服务的值(虽然你能够修改这个值,但是IntentService处理还是为你提供了 默认实现)。 onStartCommand()方法有三种返回值:

STARTSTICKY(常量值:1):sticky的意思是“粘性的”。使用这个返回值时,我们启动的服务跟 应用程序"粘"在一起,如果在执行完onStartCommand后,服务被异常kill掉,系统会自动重启该服务。 当再次启动服务时,传入的第一个参数将为null;

STARTNOTSTICKY(常量值:2):“非粘性的”。使用这个返回值时,如果在执行完onStartCommand后, 服务被异常kill掉,系统不会自动重启该服务。

START

REDELIVER_INTENT(常量值:3):重传Intent。使用这个返回值时,如果在执行完 onStartCommand后,服务被异常kill掉,系统会自动重启该服务,并将Intent的值传入。

4、Service的生命周期方法onCreate、onStart、onBind等运行在哪个线程?

默认情况,如果没有显示的指 service 所运行的进程, Service运行在当前 app 所在进程的 mainthread(UI 主线程)里面,也就是Service的生命周期方法都运行在主线程。 但是,若在清单文件指定了android:process=":remote",则运行在其他进程中, 这种远程服务用在公共的服务上,例如:天气预报、友盟之类的推送服务等。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 【Android Service】 Service 简介(★★★) 很多情况下,一些与用户很少需要产生交互的应用程...
    Rtia阅读 3,135评论 1 21
  • 上篇我们讲解了Android中的5中等级的进程,分别是:前台进程、可见进程、服务进程、后台进程、空进程。系统会按照...
    徐爱卿阅读 3,839评论 6 33
  • 一、简介 Service 是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件。服务可由其他应用组件启动,...
    Diffey阅读 919评论 0 0
  • 转载注明出处:http://www.jianshu.com/p/a1d3d9693e91 1. 简介 与前一篇An...
    王三的猫阿德阅读 1,902评论 1 9
  • 距离那时刻,好像才七天,感觉漫长却在昨晚感觉无比的轻松。这次好像比上次很伤心要处理的时间又短了。没有什么比睡一次安...
    Cllare1992阅读 398评论 0 0