В настоящее время 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
The core Android system has died and is going through a runtime restart. All running apps will be promptly killed.
это чаще всего происходит где-то еще и влияет на ваше приложение?Ответы:
В документации для разработчиков Android
android.os.DeadSystemException
говорится следующее:Исходный код не помогает гораздо больше:
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 версий 7 и 8.
Это было вызвано использованием в уведомлениях "шаблона вибрации", который вызывает ошибку
ArrayOutOfBoundsException
. Это приводит к сбою всей системы и публикацииDeadSystemException
.Для получения дополнительной информации вы можете обратиться к этой статье Medium здесь .
источник
Fatal Exception: java.lang.RuntimeException: android.os.DeadSystemException
Это исключение было вызвано одним из приложений, которые я разрабатывал, в основном это происходило на устройствах MI.
После отладки я обнаружил, что пытался запустить другую службу (скажем, B) в текущей службе (скажем, A) из фонового потока, но когда
startService(itService)
был вызван метод, служба A уже была убита.Единственное решение, которое я нашел до сих пор, - это проверить, запущена ли текущая служба A или нет, прежде чем запускать другую службу B. В зависимости от вашей реализации вы можете использовать один из различных способов проверить, запущены ли службы из этого ответа .
источник