当前位置:  开发笔记 > 编程语言 > 正文

WebView的loadUrl方法是否在UI线程上运行?

如何解决《WebView的loadUrl方法是否在UI线程上运行?》经验,为你挑选了0个好方法。

我想知道webview如何加载特定的URL.它是在同一个线程即UI线程中创建新线程还是加载URL?我问这个的原因是当我从当前Activity(在当前Activity的onCreate方法中)启动一个Activity时,我面临一些奇怪的唤醒锁定问题,它在其onCreate方法中创建一个WebView并使用loadUrl方法加载一个URL.因此,当我完成此活动并返回到已启动的活动时,由于唤醒锁定时间已过期而重新启动.
我用Google搜索并发现如果Activity的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. } }

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有