繁体   English   中英

关于Galaxy Nexus的奇怪的EOF异常

[英]Weird EOFException on Galaxy Nexus

我的Android应用程序使用URLConnection连接到Web服务。 它已经在市场上销售了一年多,效果很好。 但是,最近出现了Galaxy Nexus用户的问题:

URLConnection获取输入流(甚至还没有读取!)时:

final BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()), 8192);

getInputStream()抛出EOFException

首先我认为这可能是一个ICS问题,所以我在我的Nexus S上安装了早期版本,但在那里我无法重现这个问题。 然后我就可以访问Galaxy Nexus,它与我收到的错误报告一样崩溃,这让我相信这可能不是单个手机表现得很奇怪的情况。

可以在此处看到崩溃的堆栈跟踪以及GitHub上的整个代码。 这真的很奇怪,该应用程序在Android Market上安装了大约100k +,这个问题似乎只出现在Galaxy Nexus上。

任何提示或建议将不胜感激!

我在ICS上看到同样的错误,我通过禁用keepAlive来“修复”它:

    System.setProperty("http.keepAlive", "false");

在开发我的应用程序期间,我在Xperia Arc S(Note!Non-ICS)上看到了同样的问题。 我几乎可以肯定,我们看到了两个不同问题的相同症状。

在我的情况下,我正在读取整个流作为UTF8 String但服务器端实现期望我将第一个字节读取为数字byte ,其余部分作为UTF8 String读取。

我不确定为什么我真的得到了EOFException ,但是阅读流,注意自定义协议中的类型,解决了我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM