Service 启动模式有哪些,对应的生命周期?IntentService 呢?
在 Android 中,Service 的启动模式主要有以下几种:
Started Service:
startService(Intent intent)
方法启动。onCreate()
: 当 Service 被创建时调用。onStartCommand(Intent intent, int flags, int startId)
: 每次调用 startService()
时都会调用此方法。onDestroy()
: 当 Service 被停止时调用,通常是通过 stopSelf()
或 stopService(Intent intent)
。Bound Service:
bindService(Intent intent, ServiceConnection conn, int flags)
方法绑定。onCreate()
: 当 Service 被创建时调用。onBind(Intent intent)
: 当组件(如 Activity)调用 bindService()
时调用。onUnbind(Intent intent)
: 当所有客户端都解除绑定时调用。onDestroy()
: 当 Service 被停止时调用。IntentService:
startService(Intent intent)
方法启动,类似于 Started Service。onCreate()
: 当 IntentService 被创建时调用。onHandleIntent(Intent intent)
: 处理传入的 Intent 的方法,IntentService 会在单独的工作线程中调用此方法。onDestroy()
: 当 IntentService 完成所有任务并被停止时调用。IntentService 会自动停止自己。