GsaIOException Переполнение буфера, нет свободного места

У меня есть приложение MediaPlayer с функцией прямой трансляции. Когда я тестирую приложение с помощью физического устройства (API 22 Lollipop и API 23 Marshmallow), проблем с запуском потока не возникает. Сегодня я хочу протестировать приложение с помощью эмулятора (API 25 Nougat). Поток не работает, и я получаю следующую ошибку:

(SourceFile: 139) на java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) на java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) на java.lan. Thread.java:761) на com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85)  02-23 23:58:09.834 2166-3554/com.google.android.googlequicksearchbox:search W/ErrorProcessor: onFatalError, ошибка обработки из engine(4) com.google.android.apps.gsa.shared.speech.ag: Ошибка чтения из входного потока на com.google.android.apps.gsa.staticplugins.recognizer.iaa(SourceFile:342) на com.google.android.apps.gsa.staticplugins.recognizer.ia$1.run(SourceFile:1367) на java.util.concurrent.Executors$RunnableAdapter.call(Executors.java):428) на java.util.concurrent.FutureTask.run(FutureTask.java:237) на com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66) на java. util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133) в java.util.concurrent. ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:607) в java.lang.Thread.run(Thread.java:761) в com.google.android.apps.gsa.shared.util.concurrent.a.ad $ 1.run (Исходный файл: 85). Причина: com.google.android.apps.gsa.shared.exception.GsaIOException: Код ошибки: 393238 | Переполнение буфера, свободного места нет. на com.google.android.apps.gsa.speech.audio.Tee.g(SourceFile:2531) на com.google.android.apps.gsa.speech.audio.ap.read(SourceFile:555) на java.io.InputStream.read(InputStream.java:101) на com.google.android.apps.gsa.speech.audio.al.run(SourceFile:362) на com.google.android.apps.gsa.speech.audio.ak$1.run(SourceFile:471) на java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) на java.util.concurrent.FutureTask.run(FutureTask.java:237) на com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66) по адресу com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139) по адресу.google.android.apps.gsa.shared.util.concurrent.a.ax.run (SourceFile: 139) в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) в java.util.concurrent.ThreadPoolEx $ Worker.run (ThreadPoolExecutor.java:607) в java.lang.Thread.run(Thread.java:761) в com.google.android.apps.gsa.shared.util.concurrent.a.ad $ 1.run (SourceFile: 85)

Я могу узнать только одну вещь, где я думаю, что это важно.

GsaIOException: Код ошибки: 393238 | Переполнение буфера, свободного места нет

Но я не знаю, что это могло бы значить. Может кто-нибудь объяснить, что это за исключение. И где я могу искать по коду, чтобы найти проблему?

4 ответа

У меня была похожая проблема, для меня это было сбой на устройствах тоже, с той же ошибкой. Вот как я это исправил для устройств:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

Подробнее здесь: Ошибка зацикливания на эмуляторе Android

Чтобы приложение работало на симуляторе, после применения исправления по приведенной выше ссылке мне пришлось создать новый симулятор на основе архитектуры x86 (а не x86_64, как раньше), и это сработало.

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

Я получил ту же проблему, и я сделал следующие вещи, чтобы этот сбой произошел. Мало API, которые я написал, нужно было выделить немного памяти, так как файл нужно было проанализировать и сохранить в этом буфере. Я начал анализировать файл без выделения буфера, поэтому получил это сообщение. Таким образом, вы можете посмотреть на похожий код, где вы можете делать то же самое.

Я решил эту проблему, удалив файлы apk, которые я создал ранее, и они все еще остаются в списке файлов проекта.

Другие вопросы по тегам