Выполняет ли Volley операции пользовательского интерфейса, когда мое приложение выходит на передний план? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть кнопка, которая вызывает requestQueue.add метод библиотеки Volley .Внутри метода onResponse , который я вызываю:

    popupBox.display(getString(R.string.successfulRegistration), false, true); 

Метод Display , отображает всплывающее окно, поэтому его необходимо вызывать в потоке пользовательского интерфейса.

Iпоставьте точку останова в начале метода onResponse.

Сразу после нажатия на кнопку, переключитесь на другое приложение и отправьте мое приложение в фоновый режим.

IDE останавливается на разрывеи я получаю ответ от сервера, но мое приложение все еще находится в фоновом режиме, и ошибка исключения .

не появляется. Примерно через минуту я вывожу свое приложение на передний план.После этого появляется окно с сообщением.

Это значит, что мне не нужно проверять, могу ли я что-то сделать с потоком пользовательского интерфейса внутри метода onResponse, потому что залп обрабатывает его?

1 Ответ

0 голосов
/ 20 сентября 2018

onResponse и onErrorResponse вызываются по умолчанию в главном потоке, если только вы не пытаетесь вызвать их из какого-либо другого шага.Волей делает вызов Api в потоке без пользовательского интерфейса (без блокировки пользовательского интерфейса).Волей не заботится о вашем жизненном цикле.Таким образом, если вы выполняете вызов API в действии и закрываете это действие, обратный вызов получен.Таким образом, вы должны проверить, находится ли действие на переднем плане или нет.

...