0

loopjの非同期HTTPライブラリを利用しようとしていますが、非常に重大な問題が発生しました。存在しないホストにリクエストを送信すると、無限ループに陥ります。

コードをデバッグしようとしましたが、あまり見つかりませんでした。

  1. com.loopj.android.http.AsyncHttpRequest.run()実行して呼び出しますcom.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries()
  2. 次に、キャッチに捕らえられているように見えるmakeRequestWithRetries() com.loopj.android.http.AsyncHttpRequest.makeRequest()スローを内側に呼び出して呼び出します。ConnectTimeoutExceptionIOExceptioncom.loopj.android.http.RetryHandler.retryRequest(IOException, int, HttpContext)
  3. その後、アプリは以前のブレークポイントに捕らえられずcom.loopj.android.http.AsyncHttpResponseHandler.handleMessage(Message)、メッセージも発せられず、スタックします。

ただし、でこのリクエストをキャンセルすることはできcom.loopj.android.http.AsyncHttpClient.cancelRequests(Context, boolean)ます。

昨日githubから入手して自分でビルドしたので、可能な限り最新のコードを入手しました。

助けていただければ幸いです。

4

1 に答える 1

1

コメントでこれについて言及しましたが、同じ問題が発生しており、ライブラリの最新バージョンでこの問題が修正されていることを確認できます。

このプルリクエストを参照してください:https ://github.com/loopj/android-async-http/commit/87a615c3b86c3e33bd885435f98ab33483f874e9

于 2013-02-02T01:05:06.757 に答える