Android 1.6 теряет пакеты - PullRequest
       16

Android 1.6 теряет пакеты

0 голосов
/ 21 апреля 2011

только что обнаружил следующее в Android 1.6 (Sony Xperia X10): при запросе данных с XMLHttpRequest в WebView на том же устройстве (например, 127.0.0.1:8080) при обработке пакетов через ServerSocket.accept(), XMLHttpRequest иногда зависает,Отладчик говорит мне, что сервер на самом деле глубоко в ServerSocket.accept(), например.он обслуживал или не получил последний запрос.WebViewCoreThread застрял на

Object.wait() line: 288 
Request.waitUntilComplete() line: 381   
RequestHandle.waitUntilComplete() line: 262 
Network.requestURL(String, Map, byte[], LoadListener, boolean) line: 195    
FrameLoader.handleHTTPLoad() line: 204  
FrameLoader.executeLoad() line: 131 
...

, якобы ожидающих его http0 ... http3 потоков, которые все ждут на

Object.wait(long, int) line: not available [native method]  
RequestQueue(Object).wait() line: 288   
ConnectionThread.run() line: 93 

Сначала я подумал, что пакет запроса только что получилпотерял.Но это не объясняет, почему все потоки http.. находятся в одной и той же позиции ожидания, так как один должен ждать ответа, тогда как остальные ожидают новых заданий из WebView.Есть идеи?

1 Ответ

0 голосов
/ 20 сентября 2012

Это действительно ошибка в Android, кажется.Это можно обойти, добавив задержку на сервер перед отправкой ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...