問題:
java.io.IOException: Unable to parse response from server at android.location.Geocoder.getFromLocation(Geocoder.java:136) java
首先,這個不是必現的,
12-26 11:48:38.030 4457 4469 I TestRunner: passed: testGetFromLocation(android.location.cts.GeocoderTest)
12-26 11:48:38.205 4457 4469 I TestRunner: passed: testGetFromLocationName(android.location.cts.GeocoderTest) android
12-26 11:51:03.520 5726 5738 I TestRunner: failed: testGetFromLocation(android.location.cts.GeocoderTest)
12-26 11:51:08.555 5726 5738 I TestRunner: failed: testGetFromLocationName(android.location.cts.GeocoderTest) 服務器
一次成功一次失敗。 網絡
分析TCP網絡數據包發現,
11:48:38及以前,數據包來回正常;
11:48:58以後,只有數據發送、沒有數據應答,且出現連續Retransmission重發。如附圖
其中10.5.27.84是手機本端,74.125.128.104是服務端——谷歌的GEOCODE服務器。 測試
這個的緣由多是當時網絡異常(沒有送達服務器、或者服務器的ACK不能返回到手機),或者服務器異常(服務器不響應請求)。 spa
推測,後者的可能性比較大。緣由是服務器端不認爲第一次請求鏈接結束了,因此不響應第二次GEOCODE服務請求,須要手機端主動斷開結束或者等待一段時間服務器端超時自動結束。 設計
這個項服務在谷歌就是這麼設計的,不要短期連續測試GEOCODE就不會有這個問題。
我的認爲能夠關閉。 code