Работает ли метод loadUrl WebView в потоке пользовательского интерфейса?
Мне интересно, как webview загружает определенный URL. Создает ли он новый поток или загружает URL-адрес в том же потоке, т. е. в потоке пользовательского интерфейса? Причина, по которой я спрашиваю об этом, заключается в том, что я сталкиваюсь с какой-то странной проблемой блокировки пробуждения, когда я запускаю действие из текущего действия (в методе onCreate текущего действия), который создает веб-представление в своем методе onCreate и загружает URL-адрес с помощью метода loadUrl. Поэтому, когда я закончу с этим действием и вернусь к действию, которое запустил, это будет перезапущено, потому что время блокировки пробуждения истекло.
я погуглил его и обнаружил, что если метод onCreate действия занимает слишком много времени, то этот тип проблемы может возникнуть. Сталкивался ли кто-нибудь из вас с подобной проблемой, связанной с WebView? Любая помощь была бы очень признательна.
Вот пример кода.
Activity A:
class ActivityA {
onCreate(){
initializeSomething();
registerSomeEvents();
startSomething();
}
onSomeListener(){
if(someFlag) {
startActivity(ActivityB);
//this will pause the current activity i.e. ActivityA
}
}
}
Activity B:
class ActivityB(){
onCreate() {
if(someFlag){ //someFlag is coming in intent
helper = createHelperX();
} else {
helper = createHelperY();
}
helper.pleaseHelp(); //this does the rest of thing using activity instance
}
HelperX:
Class HelperX(){
createHelper() {
//setup layout views etc, no WebView here
//and wait for user interaction
//register some events
}
onSomeEvent(){
if(someOtherFlag) {
startActivityForResult(ActivityB); //and pass some flag, now this flag will trigger HelperY
}
}
HelperY:
class HelperY(){
createHelper() {
//setup views etc , this contains a WebView and calls loadURL.
}
}