Я использую службу намерения для сжатия нескольких видеофайлов с использованием библиотеки FFMPEG и после сжатия хранят эти файлы на сервере с использованием FTP. Итак, я начал поток, чтобы дождаться FFPEGexecute()
метод до его успешного завершения.illegalStateException в IntentService при использовании библиотеки FFMPEG
Затем я храню эти файлы на сервере, используя FTP. Работа выполнена правильно, но в конце концов он возвращается illegalStateException
:
MessageQueue: Handler (android.view.ViewRootImpl $ ViewRootHandler) {8895619} отправки сообщения Обработчика на мертвом нити
Если у меня 10 файлов, это исключение возвращается 10 раз. Что может быть причиной этого исключения и как я могу его избежать.
Вот обработчик я использую:
fFmpeg.execute(command, new ExecuteBinaryResponseHandler() {
@Override
public void onFailure(String s) {
System.out.println(idx + "----------Failure: \n" + s.toString());
}
@Override
public void onSuccess(String s) {
System.out.println(idx+ "----------Success: \n" + s.toString());
}
@Override
public void onProgress(String s) {
}
@Override
public void onStart() {
System.out.println(idx+ " started");
}
@Override
public void onFinish() {
totalProcessedFileCount++;
System.out.println(idx + "*****************Finished "+ totalProcessedFileCount);
}
});
проблема связана с обработчиком, который вы используете, он описывает, что есть сообщение, отправленное к проводнику, но нить, в которой обработчик создан мертв. Если вы разместите обработчик, который используете и используете его, я могу предоставить больше подсказок. – petrumo
@petrumo. Я добавил код обработчика. –