chromium for android Browser进程创建过程分析

本文详细分析了Chromium在Android平台上Browser进程的创建过程,从ContentMainDelegate的注册开始,通过JNI调用,内容包括ContentMainRunner和BrowserMainRunner的使用,以及如何通过ContentMainDelegate初始化不同类型的进程,最终达到Browser进程核心类BrowserMainLoop的建立。
ContentMainDelegate是客户端程序注册给content_main_runner.cc的回调接口,
content_main_runner.cc通过调用ContentMainDelegate的接口来通知客户端
当前Content框架的状态。
客户端程序通过ContentMainDelegate::RegisterApplicationNativeMethods接口
注册自己的本地方法。
ContentMainDelegate中的有四个函数:
CreateContentBrowserClient();
CreateContentPluginClient();
CreateContentRendererClient();
CreateContentUtilityClient();
用来分别创建ContentBrowserClient,ContentPlunginClient,ContentRendererClient,
ContentUtilityClient的实例。

ContentMainDelegate的注册过程如下:

虚拟机在动态库加载完成后调用全局函数JNI_OnLoad,定义在chrome_jni_onload.cc中。
JNI_OnLoad调用全局函数RunChrome,定义在chrome_android_initializer.cc中。
RunChrome调用content命名空间的全局函数SetContentMainDelegate()定义在content_main.cc中。
SetContentMainDelegate()将指向ChromeMainDele

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值