#java #android-studio #wait
#java #android-studio #подожди
Вопрос:
Вот упрощенная версия моего кода. function1()
нужно кое-что проверить в Интернете. Он должен делать это в фоновом режиме приложения (я не могу это изменить), что позволяет остальной части кода выполняться во время проверки Интернета. Выполнение этой функции может занять несколько секунд. Я не могу поместить журнал в конец функции 1, потому что он должен выполняться независимо от того, выполнена функция 1 успешно или нет, но только после завершения попытки. Как я могу добиться этого без использования таймера?
if (condition) {
if (condition2) {
function1();
}
Log.i("Info", "This should not appear until function1 completes or fails");
}
Ответ №1:
Не проверяйте постоянно; это называется ожиданием занятости и неэффективно, особенно на мобильных устройствах (поскольку устройство не может перейти в режим низкого энергопотребления). Вместо этого используйте an AsyncCallback
, чтобы запустить свой function1
и поместить сообщение журнала в обратный вызов.