<init>(AwContents.java:556) at com.android.webview.chromium.WebViewChromium.initForReal(WebViewChromium.java :312) at com.android.webview.chromium.WebViewChromium.access$100(WebViewChromium.java:96) at com.android.webview.chromium.WebViewChromium (WebViewChromium.java:123) at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue$1 :144) at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.addTask(WebViewChromium.java :107) at com.android.webview.chromium.WebViewChromium.init(WebViewChromium.java:261) at android.webkit.WebView
WebView构造函数 而在创建WebView的时候,实际上是将WebView委托到了WebViewChromium中。 ? 创建WebView 在WebViewChromium初始化的时候,会调用addWebViewAssetPath将路径添加到AssetManager中。 ? WebViewChromium构造函数 在WebViewDelegate.java类中,添加WebView的资源路径。 ?
*/ public static void prepareWebViewInZygote() { try { System.loadLibrary("webviewchromium_loader Log.e(LOGTAG, "error preparing native loader", t); } } 主要是加载对应的webviewchromium_loader库.
prepareWebViewInZygote() { try { // 加载libwebviewchromium_loader.so System.loadLibrary("webviewchromium_loader ,这个方法只能被zygote调用,所以先分配地址空间,然后加载真正的JNI库 所以WebViewFactory类的静态成员方法prepareWebViewInZygote首先会记载一个名称Wie"webviewchromium_loader