Android高频面试专题 - 基础篇(三)Service

Service在日常开发中的使用,也是非常广泛,这里基本上罗列了面试会问到的关于Service的问题,面试前看看​应该是足够了。​​

1、Service两种启动模式及生命周期

①Service生命周期内实例只会有一个,多次调用startService(),只有第一次会出发onCreate(),后面只会出发onStartCommand, bindService()同理,多次绑定只会出发onBind()。

②通过startService()启动的服务,生命周期不受客户端组件影响,只能通过主动调用stop()来停止。

③通过bindService()启动的服务,只有所有客户端都执行unBind(),服务才会被销毁。

④startService()优先级高于bindService(),只要有一个startService(),即使所有客户端都执行unBind(),也不会被销毁。

完整生命周期如下:

image

2、Service和Thread

看下官网对Service的介绍:服务是可以在后台执行长时间运行的操作的应用程序组件,并且不提供用户界面。也就是说,如果你的应用需要在子线程执行工作,并且要和用户有交互,可以选择新建一个Thread,如果不需要交互,可以选择通过服务,比如后台播放音乐。

3、Service里面到底能不能执行耗时操作?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值