только что обнаружил следующее в 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.Есть идеи?