[英]How Android webview uses webkit?
I know that webkit is a layout engine used for display HTML content in web browser. 我知道webkit是一个用于在Web浏览器中显示HTML内容的布局引擎。 I looked at Webkit ports and found no stuffs related to Android.
我查看了Webkit端口 ,发现没有与Android相关的东西。 I also looked at Android source folder for WebView class, but I can't see how Webview is related to Webkit.
我还查看了WebView类的Android源文件夹,但我看不出Webview是如何与Webkit相关的。
I want to know how webkit is used in Android webview, how to customize webkit ? 我想知道如何在Android webview中使用webkit,如何自定义webkit?
I also want to know the threading mechanism used in webkit, how it uses thread pool for processing layout and javascript (especially for Android) 我也想知道webkit中使用的线程机制,它如何使用线程池来处理布局和javascript(特别是对于Android)
I really need help. 我真的需要帮助。 Thanks in advance.
提前致谢。
UPDATE UPDATE
I look into WebView.java
, WebViewCore.java
and JniUtil.java
in webkit package . 我查看webkit包中的
WebView.java
, WebViewCore.java
和JniUtil.java
。 Particularly in JniUtil.java
there is 特别是在
JniUtil.java
中
static {
System.loadLibrary("webcore");
System.loadLibrary("chromium_net");
}
Where are webcore and chromium_net ? webcore和chromium_net在哪里? Are they related to this webkit source ?
它们与此Webkit源相关吗?
the following picture: android architecture - 下图:android架构 -
webkit located on the libraries layer. webkit位于库层。 and webkit source was developed by c/c++.
和webkit源码是由c / c ++开发的。
I think android webview connect to webkit by using jni (java native interface). 我认为android webview通过使用jni(java本机接口)连接到webkit。 You can view android source (c++ part).
你可以查看android源码(c ++部分)。 I think the solution there.
我认为那里的解决方案。
EDIT: You can see the class android.webkit.WebViewCore : On static constructor: 编辑:你可以看到类android.webkit.WebViewCore :On静态构造函数:
static {
// Load libwebcore and libchromium_net during static initialization.
// This happens in the zygote process so they will be shared read-only
// across all app processes.
try {
System.loadLibrary("webcore");
System.loadLibrary("chromium_net");
} catch (UnsatisfiedLinkError e) {
Log.e(LOGTAG, "Unable to load native support libraries.");
}
}
I think you can find in webcore & chromium_net (android source c++) 我想你可以在webcore&chromium_net中找到(android源码c ++)
Update: I find the link jni of android webkit 更新:我找到了android webkit的链接jni
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.