2013-06-06 3 views
0

ORIGINAL У меня есть AsyncTask, которая выполняет сетевые запросы и работает нормально. Окружающая среда, в которой я тестирую, работает против Eclipse, а USB подключен к устройству для регистрации информации в LogCat. При отсоединении провода USB от устройства и повторной фиксации провода обратно к устройству я могу увидеть возобновление сеанса LogCat, после чего я выхожу из приложения и повторно вхожу в приложение, а при повторном запуске AsyncTask сетевой запрос не выполняется ,AsyncTask doInBackground нечетное поведение

Испытывал ли кто-нибудь странное поведение при выполнении сетевых вызовов между отсоединением и повторным подключением провода USB к устройству Android? Поток приложения выглядит нормально, поскольку я зарегистрировал каждую последовательность до точки & через точку выполнения AsyncTask. Приложение работает с сетевыми вызовами, когда USB всегда подключен. Может ли LogCat иметь какое-либо отношение к этому?

Спасибо.

EDIT Сетевой запрос на самом деле не работает, сервер просто отвечает кодом ошибки. Но прежде чем я мог начать обвинять сервер, я выполнил несколько ударов с помощью браузера с тем же URL. Я только включил USB в изображение, потому что странное поведение происходит только тогда, когда USB отсоединен от устройства и снова подключен.

ОБНОВЛЕНИЕ После проведения дальнейших исследований я, наконец, поставил диагноз, но понятия не имею, почему это так. Когда отладчик подключен к процессу, ответственному за обработку сетевых вызовов (фоновые потоки), приложение работает должным образом. Однако, когда отладчик отключен от процесса, сетевые вызовы возвращают результаты ошибки сервера.

Каким образом отладчик влияет на сетевые вызовы?

+0

Вы говорите, что вы выходите из приложения и возвращаетесь сюда. Это, скорее всего, является виновником того, почему все происходит неудачно. Вы отлаживали это вообще? – dymmeh

+0

Как вы узнаете, что запрос терпит неудачу? – tyczj

+0

Я отредактировал это сообщение, пожалуйста, см. Править. – Ryan

ответ

0

Ну, я нашел ответ, и я опубликую его на всякий случай, если кто-нибудь столкнется с этой проблемой.

По существу, USB-кабель действительно не играл роли, это был просто отбрасывающий серверы плохие данные, и простой повтор после отказа решил его. Причина, по которой требуется время, чтобы понять, потому что, когда устройство было подключено с помощью USB, поведение нормальное, и все в порядке. Это дало иллюзию, что сервер не является проблемой, поскольку он работал последовательно. Тем не менее, я знаю, что в режиме «Отладка» выполнение выполняется медленнее, это может позволить серверу некоторое время отдохнуть от последующих запросов, создавая иллюзию того, что сервер реагирует. Однако при отсоединении USB-кабеля от устройства и, таким образом, выходе из режима отладки и выходе из менее быстрой среды, сервер действительно прошел тест &. Итак, кто бы ни столкнулся с этой проблемой, не думайте, что отладчик вызывает проблему, это скорее всего сервер.

Смежные вопросы