【发布时间】:2013-06-06 19:17:37
【问题描述】:
原创 我有一个执行网络请求的 AsyncTask,它工作正常。我正在测试的环境是针对 Eclipse 的,USB 连接到设备以将信息记录到 LogCat。当从设备上拆下 USB 线并将线重新连接回设备时,我可以看到 LogCat 会话恢复,之后,我退出应用程序并重新进入应用程序,当 AsyncTask 再次运行时,网络请求失败.
有没有人在断开和重新连接 USB 线到 android 设备之间执行网络调用时遇到过奇怪的行为? 应用程序的流程看起来很正常,因为我已经记录了每个序列直到 AsyncTask 执行为止。 当 USB 始终连接时,该应用程序可以通过网络调用正常工作。 LogCat 可能与此有关吗?
谢谢。
编辑 网络请求实际上并没有失败,服务器只是用错误代码响应。但在我开始责怪服务器之前,我通过浏览器成功地对同一个 URL 进行了多次点击。我只在图片中涉及了 USB,因为奇怪的行为仅在 USB 从设备上分离并重新连接时才会发生。
更新 经过进一步研究,我终于诊断出这个问题,但不知道为什么会这样。当调试器连接到负责处理网络调用(后台线程)的进程时,应用程序按预期工作。但是,当调试器与进程断开连接时,网络调用会带回服务器错误结果。
调试器如何影响网络调用?
【问题讨论】:
-
您是说退出应用程序并重新进入。这听起来更有可能是导致事情失败的罪魁祸首。你调试过这个吗?
-
你怎么知道请求失败了?
-
我已经编辑了帖子,请看编辑。
标签: android android-asynctask backgroundworker