我想知道WebView如何加载特定的URL。它是创建一个新线程还是在同一个线程(即UI线程)中加载URL?我之所以问这个问题,是因为当我从当前活动(在当前活动的onCreate方法中)启动一个活动时,遇到了一些奇怪的唤醒锁定问题,它在onCreate方法中创建一个WebView,并使用loadURL方法加载一个URL。因此,当我完成此活动并返回到启动的活动时,将重新启动此活动,因为唤醒锁定时间已过期。
我在谷歌上搜索了一下,发现如果一个活动的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.
}
}