95 votes

Android DeadSystemException

Actuellement, nous assistons à un DeadSystemException dans notre HockeyApp des rapports d'incidents. Il se fait sur Android 7.0 et Android 7.1. Nous n'avons pas l'expérience de cette exception dans la précédente version de notre application (ils sont actuellement utilisés par les utilisateurs), donc je suppose que cette exception est causée par un changement de code. Mais la trace de la pile n'est pas tres utile pour cela. Une idée? Merci pour toute sugestion.

Trace de la pile de 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

79voto

Le Développeur Android docs pour android.os.DeadSystemException - dire les éléments suivants:

Le cœur du système Android est mort et il va par le biais d'un moteur d'exécution redémarrez. Toutes les applications en cours d'exécution est rapidement tué.

Le code source n'aide pas beaucoup plus:

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();
    }
}

Dans l'ensemble, il ressemble à ce qui est en train d'être levée par le système d'exploitation et n'a rien à voir avec notre code.

En regardant la javadoc de la classe mère, DeadObjectException, soutient cette théorie:

L'objet que vous appelez a mort, parce que son processus d'hébergement pas existe plus.

17voto

Shantanu Points 735
Fatal Exception: java.lang.RuntimeException: android.os.DeadSystemException

Cette exception a été causé dans l'une des applications que j'étais en développement, il a eu lieu surtout dans les MI appareils.

Après le débogage, j'ai trouvé que j'essayais de démarrer un autre service (Disons B) dans le service actuel (Dire) à partir d'un thread d'arrière-plan, mais quand startService(itService) méthode a été appelé le service a déjà tué.

La seule solution que j'ai trouvé jusqu'à maintenant est de vérifier si le service est en cours d'exécution ou non avant de commencer un autre service B. en Fonction de votre application, vous pouvez utiliser l'une des différentes façons de vérifier si un service est en cours d'exécution à partir de cette réponse.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X