这里不讨论Context.startService()方式启动的service,如何控制它的重启网上有很多资料可以查阅。说一下通过Context.bindService()方式启动的service(单纯一种方式启动)。分客户端和服务端,客户端如果被kill掉,没说的,service也终止了。但如果用任务管理器kill掉了客户端的进程,service被杀掉,但android系统会自动重新启动它,因为启动它的context还是有效的。怎么阻止它复活呢。停掉Context.bindService()启动的service还是得调用Context.unbindService()。当服务端被kill掉的时候会调用客户端中ServiceConnection的onServiceDisconnected()方法,在里面解除绑定吧。
本文深入解析了Android应用中使用Context.bindService()方式启动的服务生命周期管理,特别关注了服务在客户端被杀死或手动结束后的自动重启现象,并提供了有效的方法来阻止服务的自动重启,包括调用Context.unbindService()解除绑定及在服务端被kill时调用ServiceConnection的onServiceDisconnected()方法进行相应处理。
1578

被折叠的 条评论
为什么被折叠?



