首页
JAVA笔记
数据库笔记
混乱记忆
小站记
您现在的位置
android LocalService 的启动
简介: android Service 经常会被用到,不同的启动方式会产生不同的效果,这里主要介绍 startService 和 bindService 的区别和运用。
简单的讲他们的区别
  1. 通过 Context 的 startService 启动的 service 会产生一个单独的进程,并且进程驻留在系统中,不受 activity 的影响。
  2. 通过 Context 的 bindService 启动的 service 不会产生单独进程,并且会受到 activity 的影响,在 activity 关闭后 service 也会停止。
如何运用
正常情况写 service 都会被 bind 并且被调用(通常需求),activity 退出 service 也需要停止的需求一般是使用 bingService 直接绑定使用,而 activity 退出 service 不退出的需求一般是先通过 startService 启动,然后再通过 bindService 来进行绑定以便调用 service 中的代码。

两种启动方式的生命周期
  1. startService:onCreate->onStartCommand->onDestroy
  2. bindService:onCreate->onBind->ServiceConnection.onServiceConnected->onUnbind->onDestory
  3. 先 startService 再 bindService:onCreate->onStartCommand->onBind->ServiceConnection.onServiceConnected->onUnbind->onDestory


最近更新