
先把结论放在前面:Service 没有"运行中/已停止"这种进程内状态机,它只回答两个问题——"你是启动模式还是绑定模式"和"系统是否还欠你一个实例"。bindService走onCreate→onBind→onServiceConnected,所有绑定都解除即销毁;startService走onCreate→onStartCommand,返回START_STICKY后系统会在进程被杀后重新创建并补发 null Intent。这两条能立住,后面的线程、进程、后台限制就都能挂上。Service 生命周期这题的主角是 Service:它是什么、底层怎么运转、真实项目里长什么样,层层往下讲。两条创建路径,四种回调组合Service生命周期方法是onCreate、onStartCommand、onBind、onUnbind、onDestroy五个。实际项目里只会用到其中两套组合。启动模式(startService/startForegroundService):