отладчик, совершающий самоубийство для освобождения зомби

Я получаю декодируемые кадры от своего механизма и своего проигрывания его использование SurfaceView в андроиде. Но это играет в течение 2-3 секунд и затем моих сбоев приложения с ошибкой "отладчик, совершающий самоубийство для освобождения зомби".

Пожалуйста, помогите мне.

Я использую Android SDK 2.1.

6
задан Abhishek 11 May 2010 в 11:09
поделиться

1 ответ

**** Я думал, что это игровое предупреждение, а не сообщение журнала отладки Android = | ****

Зомби-процесс

В Unix и Unix-подобных компьютерных операционных системах зомби-процесс или несуществующий процесс - это процесс, который завершил выполнение, но все еще имеет запись в таблице процессов. Эта запись по-прежнему необходима, чтобы позволить процессу, запустившему процесс (теперь зомби), прочитать его статус выхода. Термин «процесс зомби» происходит от общепринятого определения зомби - «нежить». В яркой метафоре этого термина дочерний процесс умер, но еще не получен. Кроме того, в отличие от обычных процессов, команда kill не влияет на зомби-процесс.

Когда процесс завершается, вся память и связанные с ним ресурсы освобождаются, чтобы их могли использовать другие процессы. Однако запись процесса в таблице процессов остается. Родитель может прочитать статус выхода ребенка, выполнив системный вызов wait, на котором зомби удаляется. Вызов ожидания может выполняться в последовательном коде, но обычно он выполняется в обработчике сигнала SIGCHLD, который родитель получает всякий раз, когда умирает ребенок.

После удаления зомби его идентификатор процесса и запись в таблице процессов можно использовать повторно. Однако, если родитель не может вызвать wait, зомби останется в таблице процессов. В некоторых ситуациях это может быть желательно, например, если родительский процесс создает другой дочерний процесс, он гарантирует, что ему не будет назначен тот же идентификатор процесса.В современных UNIX-подобных системах (которые в этом отношении соответствуют спецификации SUSv3) применяется следующий особый случай: если родительский элемент явно игнорирует SIGCHLD, устанавливая свой обработчик на SIG_IGN (а не просто игнорируя сигнал по умолчанию) или имеет флаг SA_NOCLDWAIT установлено, вся информация о статусе дочернего выхода будет отброшена, и никаких зомби-процессов не останется.

Процесс зомби - это не то же самое, что процесс сироты. Сиротский процесс - это процесс, который все еще выполняется, но родитель которого умер. Они не становятся зомби-процессами; вместо этого они принимаются init (процесс ID 1), который ожидает своих потомков.

из WIKI! =)

7
ответ дан 17 December 2019 в 00:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: