首页 文章

GsaIOException缓冲区溢出,没有可用空间

提问于
浏览
16

我有一个带有直播功能的MediaPlayer应用程序 . 当我使用物理设备(API 22 Lollipop和API 23 Marshmallow)测试应用程序时,启动流没有问题 . 今天我想用仿真器(API 25 Nougat)测试应用程序 . 流不工作,我收到以下错误:

(SourceFile:139)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:607)at java.lang.Thread.run (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:搜索W / ErrorProcessor:onFatalError,处理来自引擎的错误(4)com.google.android.apps.gsa.shared.speech.ag:从com.google.android.apps.gsa的输入流中读取错误.staticplugins.recognizer.iaa(SourceFile:342)at com.google.android.apps.gsa.staticplugins.recognizer.ia $ 1.run(SourceFile:1367)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors . java:428)java.util.concurrent.FutureTask.run(FutureTask.java:237)at java的com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66) java.util.concu中的.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) rrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:607)at java.lang.Thread.run(Thread.java:761)at com.google.android.apps.gsa.shared.util.concurrent.a.ad $ 1 .run(SourceFile:85)引起:com.google.android.apps.gsa.shared.exception.GsaIOException:错误代码:393238 |缓冲区溢出,没有可用空间 . com.google.android.apps.gsa.speech.audio.Tee.g(SourceFile:2531)at com.google.android.apps.gsa.speech.audio.ap.read(SourceFile:555)at java.io .InputStream.read(InputStream.java:101)位于com.google.android.apps.gss.gsa.speech.audio.ak的com.google.android.apps.gsa.speech.audio.al.run(SourceFile:362) $ 1.run(SourceFile:471)java.util.concurrent.Executors $ runnableAdapter.call(Executors.java:428),位于com.google.android的java.util.concurrent.FutureTask.run(FutureTask.java:237) . coms.gss..shared.util.concurrent.a.ak.run(SourceFile:66)at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)at com .google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139),位于java.util.concurrent.ThreadPoolExecutor的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) $ Worker.run(ThreadPoolExecutor.java:607)位于com.google.android.apps.gsa.shared.util.concurrent.a.ad $ 1.run的java.lang.Thread.run(Thread.java:761)的SourceFile:85)

我只能认出一件我认为重要的事情 .

GsaIOException:错误代码:393238 |缓冲区溢出,没有可用空间

但我不知道这意味着什么 . 任何人都可以解释它是什么样的异常 . 我可以在哪里搜索代码来找到问题?

4 回答

  • 1

    我有一个类似的问题,对我来说它也在设备上崩溃,同样的错误 . 这就是我为设备修复它的方法:

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

    更多细节:Looping Error on Android Emulator

    为了使应用程序在模拟器上运行,在应用上述链接的修复程序之后,我不得不创建一个基于x86体系结构的新模拟器(不像以前那样是x86_64)并且它有效 .

  • 2

    我确实收到了同样的问题,我做了以下事情来解决这个问题 . 我写的几个api需要分配一些内存,因为需要解析文件并保存在该缓冲区中 . 我开始解析文件而不分配缓冲区,因此收到了该消息 . 所以你可以查看类似的代码,你可能会做同样的事情 .

  • 1

    在尝试使用logcat调试我的设备时,我收到了这些确切的消息 . 无法弄清楚他们来自哪里 . 最后意识到与模拟器的前一个调试会话正在生成这些 . 我只是退出模拟器来阻止他们 .

  • 0

    我已经通过删除之前创建的apk文件解决了这个问题,它们仍然保留在“项目文件”列表中 .

相关问题