![](/img/trans.png)
[英]weird networkonmainthread exception: only on galaxy nexus and not in the emulator
[英]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.