demo下载地址
https://download.csdn.net/download/u010672559/10610865
--------
作用:保证后台服务不死,即使被杀死后又继续被拉起,详细逻辑见代码
大概逻辑:AidlTest01启动activity的时候启动自己的服务MyAidlService,自己的服务的oncreate中bindservice-AidlTest02(通过包名类名启动),启动成功后AidlTest02中会启动自己的MyAidlService,即先由01启动自己的service,然后serivce里面启动对方的service,之后在各自的service中的oncreate和onServiceDisconnected中互拉彼此,当被进程杀掉时会调用检测一方service的onServiceDisconnected方法;实际调试是AidlTest02的线程一值有打印在走,而AidlTest01的打印没一直打,但是服务还是在后台运行,AidlTest02的优先级设置要高点
说明:测试时可以在adb shell中ps到AidlTest01和AidlTest01的进程id然后通过输入kill 进程id,即可杀死该进程,然后看打印此进程又会继续被拉起,同样的可以kill两个进程看结果,都是互相拉起的