Android DeadSystemException


83

目前,我们DeadSystemException在HockeyApp崩溃报告中遇到了。它发生在Android 7.0和Android 7.1上。在我们的应用程序的先前版本中我们没有遇到此异常(当前它们都被用户使用),因此我想这个异常是由代码更改引起的。但是堆栈跟踪对此不是很有帮助。任何的想法?感谢您的任何建议。

HockeyApp的堆栈跟踪:

java.lang.RuntimeException: android.os.DeadSystemException
at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3781)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: android.os.DeadSystemException
... 8 more

1
请发布代码并提及发生异常的代码行。
艾西瓦娅·蒂瓦里

4
我会说这不是您的应用程序的问题,就像在docs中那样:The core Android system has died and is going through a runtime restart. All running apps will be promptly killed.这主要发生在其他地方并影响了您的应用程序?
Yazan

2
@AishwaryaTiwari我无法在本地重现该错误-因此我无法发布任何代码。我只有从HockeyApp堆栈跟踪
凸形轮廓

1
这是Android框架抛出的异常,很抱歉,我无法为您提供帮助。
艾西瓦娅·蒂瓦里

1
我很想看看是否有人能够重现崩溃。在清样”的步骤将被授予奖金
大卫·罗森

Answers:


70

适用于Android开发人员的文档android.os.DeadSystemException说以下内容:

核心Android系统已死,正在通过运行时重新启动。所有正在运行的应用程序将立即被杀死。

源代码没有太多帮助更多:

package android.os;
/**
 * The core Android system has died and is going through a runtime restart. All
 * running apps will be promptly killed.
 */
public class DeadSystemException extends DeadObjectException {
    public DeadSystemException() {
        super();
    }
}

总的来说,这似乎是由操作系统抛出的,与我们的代码无关。

从超类javadoc来看DeadObjectException,可以支持这一理论:

您正在调用的对象已死亡,因为它的托管过程不再存在。


这是否意味着应用程序在此异常期间尝试执行某项操作,但操作系统停止了该操作?我的应用程序可以做些什么来避免这种情况吗?
Android开发人员

据我了解,我们无法通过该应用程序解决此问题。
理查德·勒·马修里尔

13
因此,我们唯一能做的就是忽略它?
Android开发人员

2
当Notification Manager定义为androidx时,此错误为5%。当定义为android%1时。此错误绝对是由于我的Notification Manager类所致。但是我仍然没有找到它。
Trk

1
@Trk我发现尝试显示通知时发生了这种情况。如何避免此崩溃?试着抓?
EricZhao

27

原因之一是Android 7和8版本的通知服务中的错误。

这是由于在通知中使用“振动模式”引起的,并引发了ArrayOutOfBoundsException。这导致整个系统崩溃并发布DeadSystemException

有关更多详细信息,请参阅此处的“中型”文章。


锁定报告确认您
Trk

13
我不买 我看到这个例外在应用中心的报道很多,而且都与Android 10,而不是Android的7或8
贾斯汀

我同意贾斯汀的观点,我发现运行Android API 29的设备会弹出很多此类问题,并且我们并未在通知渠道上使用“振动”选项。
赫本

16
Fatal Exception: java.lang.RuntimeException: android.os.DeadSystemException

此异常是在我正在开发的一个应用程序中引起的,它主要发生在MI设备中。

调试后,我发现我正在尝试从后台线程启动当前服务(说A)中的另一个服务(说B),但是在startService(itService)调用方法时,服务A已被杀死。

到目前为止,我发现的唯一解决方案是在启动另一个服务B之前检查当前服务A是否正在运行。根据您的实现,可以使用多种方式之一从此答案中检查服务是否正在运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.