在这种情况下,为什么android会在另一个进程上杀死将光标放在内容提供商上的客户端进程?

在这种情况下,为什么android会在另一个进程上杀死将光标放在内容提供商上的客户端进程?,android,android-contentprovider,contentobserver,android-activitymanager,contentproviderclient,Android,Android Contentprovider,Contentobserver,Android Activitymanager,Contentproviderclient,我的应用程序在Process1中运行,我正在使用另一个在Process2下运行的应用程序提供的内容提供商。当Process2终止时,它会导致在Process1下运行的我的应用程序终止 09-14 23:31:52.583 782 1351 I ActivityManager: Killing 11797:com.example.myapp/1000 (adj 100): depends on provider com.example.exampleapp/com.example.examp

我的应用程序在Process1中运行,我正在使用另一个在Process2下运行的应用程序提供的内容提供商。当Process2终止时,它会导致在Process1下运行的我的应用程序终止

09-14 23:31:52.583   782  1351 I ActivityManager: Killing 11797:com.example.myapp/1000 (adj 100): depends on provider com.example.exampleapp/com.example.exampleapp.MyContentProvider in dying proc com.example.exampleapp (adj 100)
09-14 23:31:52.585   782   812 W libprocessgroup: kill(-11797, 9) failed: No such process
09-14 23:31:52.585   782   812 I libprocessgroup: Successfully killed process cgroup uid 1000 pid 11797 in 0ms
09-14 23:31:52.623   368   368 I Zygote  : Process 11797 exited due to signal (9)
我遇到了这个问题,它基本上解释了当我们在内容提供者上使用内容观察者vs查询时会发生什么

但我不清楚为什么连安卓都会扼杀整个过程。为什么不能在应用程序级别借助于
DeadObjectException
来处理这个问题,我们在与运行在其他进程上的绑定服务交互时也会遇到类似的问题,然后绑定服务就会停止

我同意Android提供了另一种方法来处理这个问题,可以通过获取
unstableContentProviderClient
来解决,但我不明白为什么他们需要终止客户端进程?我很担心,因为在这个过程中不仅会运行内容提供者查询源,还会有其他逻辑在运行。为什么框架会终止应用程序并重新启动它