Service服务相关(2)

一些要点:
1.描述服务的生命周期。
分为2中:
1)startService方式:启动服务,onCreate,onStartCommand,这时再次启动,只会调用onStartCommand,之后调用stopService(intent);停止服务,会调用onStart,onDestroy;

2)bindService方式:启动服务,onCreate,onBind,之后再启动,不会回调;停止服务,onUnbind,onDestroy;

2.Service是在主线程吗?能在Service中做耗时操作吗?
1)service是运行在主线程。
2)不能在主线程做耗时操作。但是,同主线程一样,可以在service中新开线程做任务。

3.启动service的方法有几种?区别?
1)2种,startService和bindService.
2)通过startService启动的服务,其生命周期不跟随activity的周期变化,而bindService方式启动的服务,一般随着activity的销毁而销毁;

注:bindService(Intent service,ServiceConnection conn,int flags)绑定服务,需要创建 conn,flags: 一般选:BIND_AUTO_CREATE。一般想要得到服务对象本身,需要用绑定的方式启动服务。

4.IntentService相关
1)IntentService是Service的子类,使用时直接继承IntentService
2)和Service的区别:Service 和应用存在同一个线程,不会专门启动一条单独线程,做耗时操作需要新开线程,并且需要主动关闭服务;IntentService直接就是由系统启动一条新的线程,可以直接在里面处理耗时任务,并且由系统控制服务的开关,任务完成,自动关闭,不需要主动关闭;

5.如何让一个Service成为前置线程?、
在onStartCommand中调用startForeground()方法。

6.等待后续···

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值