Android4.4webview杂记

本文深入探讨了Android 4.4中的WebView组件,从对外提供的API接口到Blink层的实现。首先,介绍了位于frameworks/base/core/java/android/webkit目录的API接口;其次,阐述了frameworks/webview/chromium目录下的桥接层如何实现API调用和底层交互;接着,详细讲解了/external/chromium_org/android_webview/java/src/org/chromium/android_webview/目录中实现层的接口构建;最后,追踪了loadUrl过程,从Java层的WebViewChromium、AwContents、ContentViewCore到C++层的ContentViewCoreImpl和NavigationControllerImpl的加载流程。
摘要由CSDN通过智能技术生成
1.对外提供webview的api接口的是位于frameworks/base/core/java/android/webkit目录
2.桥接层(实现webview的api对实现的调用和调用下层)是位于frameworks/webview/chromium目录
3.实现层(构建被桥接代码使用的接口)位于 /external/chromium_org/android_webview/java/src/org/chromium/android_webview/目录
4.Blink层位于 / external / chromium_org / third_party / WebKit / Source /目录

一、loadUrl跟踪:
Java层:
WebViewChromium->loadUrl(final String url, Map<String, String> additionalHttpHeaders)
AwContents->loadUrl(LoadUrlParams params)
ContentViewCore->loadUrl(LoadUrlParams params)

C++层:
content_view_core_impl.cc->ContentViewCoreImpl::LoadUrl(
    JNIEnv* env, jobject obj,  jstring url,  jint load_url_type,
    jint transition_type,  jint ua_override_option,  jstring extra_headers, jbyteArray post_data,
    jstring base_url_for_data_url,  jstring virtual_url_for_data_url, jboolean can_load_local_resources)

navigation_controller_impl.cc->NavigationControllerImpl::LoadURLWithParams(const LoadURLParams& params) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值