0

Android 1.6 (Sony Xperia X10) で次のことが発生しました: 同じデバイスの WebView で XMLHttpRequest を使用してデータを要求すると (例: 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...1つは応答を待つ必要があり、他のスレッドはWebViewからの新しいジョブを待つ必要があります. 何か案は?

4

1 に答える 1

0

これは確かにAndroidのバグのようです。これは、応答が送信される前にサーバーに遅延を追加することで回避できます。

于 2012-09-20T12:00:17.260 に答える