Работает ли метод WebU loadUrl в потоке пользовательского интерфейса?

Мне интересно, как веб-просмотр загружает определенный URL. Создает ли он новый поток или загружает URL-адрес в тот же поток, то есть поток пользовательского интерфейса? Причина, по которой я спрашиваю это, заключается в том, что я сталкиваюсь со странной проблемой блокировки пробуждения, когда я запускаю Activity из текущей Activity (в методе onCreate текущей Activity), которая создает WebView в своем методе 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. } }

5
задан RedBlueThing 26 August 2010 в 05:00
поделиться