簡體   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