【Android 大厂面试题】阿里一面:Service 启动流程

面试题一:service 的生命周期,两种启动方式的区别

startService

onCreate() -> onStartCommand() -> onDestroy()

bindService

onCreate() -> onbind() -> onUnbind()-> onDestroy()

两种启动方式的区别:

1. 启动

如果服务已经开启,多次执行 startService 不会重复的执行 onCreate(), 而是会调用 onStart()onStartCommand()

如果服务已经开启,多次执行bindService时,onCreate和onBind方法并不会被多次调用

2. 销毁

当执行 stopService 时,直接调用 onDestroy 方法

调用者调用 unbindService 方法或者调用者 Context 不存在了(如Activity被finish了),Service就会调用 onUnbind->onDestroy

  • 使用 startService() 方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服 务仍然运行。
  • 使用 bindService() 方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值