android service学习笔记

初学者自用学习笔记,以下部分大多都是书中原话或者自己的理解。如有错误,还望指正。

一、service是什么?

Service和Activity、BroadCastRecevicer、Content provider并称为android的四大组件。主要有两个目的

(1)为了方便后台运行。比如后台播放音乐,后台下载等。

(2)跨进程通信。

二、service的生命周期

按照service可以按两种启动方式,划分成两种生命周期。

Service从启动到销毁总共只经历三个阶段:创建、开始、销毁

1、startService()

三个阶段会分别调用onCreate(),onStartCommand()【或者 onStart()    主要区别就是在2.0版本以下用onStart()】、onDestroy()。

一个服务可以多次调用startService,但是只会调用一次onCreate(),多次调用onStartCommand()。

采用startService开始的服务,只能用stopService结束。它的生命周期不受activity的限制,只有手动调用stopService时,才能结束服务。

2、bindService()

采用bindService()开启的服务,会依次调用onCreate(),onBind()。而它的生命周期会受到宿主生命周期的影响,当宿主退出时,会自动调用onUnBind()、onDestroy()。当然也可以自己手动关闭,调用unbindService(),然后service也会回调方法结束服务。

不同的启动方式,只会调用一次onCreate()方法。如果先调startService(),再调bindService(),那么调用bindService()的时候就会直接调用onBind(),反过来同理。

如果先调用bindService(),结束时必须先调用UnbindService(),再调用StopService()。

三、service的使用

有时间在写完。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值