Android中Service的生命周期

 (1)通过context的startService()启动service,系统会调用OnCreate()创建service实例,然后调用OnStartCommand()使service运行起来,任务执行完成后,通过stopSelf()或者context的stopService()结束service的运行,系统会调用OnDestroy()。如果Service实例已经创建了,每次调用startService(),系统都会调用OnStartCommand;如果调用者退出却没有调用stopService,service中也没有调用stopSelf(),Service会一直在后台运行。

(2)通过context的bindService(intent、serviceConnection、int)绑定一个service,如果service没有被创建的话,系统会调用OnCreate()创建service实例,activity和service绑定成功后,onBind(Ibinder ibinder)会返回binder对象传递到serviceConnection的onServiceConnected()的参数中,拿到service的binder对象,可以执行service中的方法。如果service实例已经存在,系统会只调用onBind()。任务执行完成后,调用者通过调用unBindService()解除和service的绑定,当和service绑定的所有调用者都解除绑定之后,系统会调用onUnBind(),之后会调用OnDestroy()销毁service实例。

参考链接:

http://www.cnblogs.com/mengdd/archive/2013/03/24/2979944.html

http://blog.csdn.net/agods/article/details/7468431


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值