我正在尝试使用loopj的Async HTTP库,但我遇到了非常严重的问题。当我向不存在的主机发出请求时,它会进入无限循环。
我尝试调试代码,但我找不到多少:
com.loopj.android.http.AsyncHttpRequest.run()
运行并调用com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries()
makeRequestWithRetries()
com.loopj.android.http.AsyncHttpRequest.makeRequest()
内调用ConnectTimeoutException
,看起来它被IOException
捕获并被com.loopj.android.http.RetryHandler.retryRequest(IOException, int, HttpContext)
捕获。com.loopj.android.http.AsyncHttpResponseHandler.handleMessage(Message)
并且没有消息被触发,它只是卡住了。但是,我可以使用com.loopj.android.http.AsyncHttpClient.cancelRequests(Context, boolean)
取消此请求。
我有最新的代码,因为我昨天从github获得了它并自己构建。
我感谢任何帮助。
答案 0 :(得分:1)
在评论中提及此问题,但我遇到了同样的问题,并且可以确认该库的最新版本修复了此问题。
请参阅此拉取请求:https://github.com/loopj/android-async-http/commit/87a615c3b86c3e33bd885435f98ab33483f874e9