找不到主机时loopj无限循环

时间:2012-12-28 20:43:55

标签: android loopj

我正在尝试使用loopj的Async HTTP库,但我遇到了非常严重的问题。当我向不存在的主机发出请求时,它会进入无限循环。

我尝试调试代码,但我找不到多少:

  1. com.loopj.android.http.AsyncHttpRequest.run()运行并调用com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries()
  2. 然后在makeRequestWithRetries() com.loopj.android.http.AsyncHttpRequest.makeRequest()内调用ConnectTimeoutException,看起来它被IOException捕获并被com.loopj.android.http.RetryHandler.retryRequest(IOException, int, HttpContext)捕获。
  3. 然后我的应用程序没有被捕获到任何先前的断点,甚至没有com.loopj.android.http.AsyncHttpResponseHandler.handleMessage(Message)并且没有消息被触发,它只是卡住了。
  4. 但是,我可以使用com.loopj.android.http.AsyncHttpClient.cancelRequests(Context, boolean)取消此请求。

    我有最新的代码,因为我昨天从github获得了它并自己构建。

    我感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

在评论中提及此问题,但我遇到了同样的问题,并且可以确认该库的最新版本修复了此问题。

请参阅此拉取请求:https://github.com/loopj/android-async-http/commit/87a615c3b86c3e33bd885435f98ab33483f874e9