Android 浏览器内核浅谈

Edge浏览器如何模拟 安卓微信内置浏览器内核? 【代码】Edge浏览器如何模拟 安卓微信内置浏览器内核? 阅读详情

 目前,移动设备浏览器上常用的内核有Webkit,Blink,Trident,Gecko等,其中iPhone和iPad等苹果iOS平台主要是WebKit,Android 4.4之前的android系统浏览器内核是WebKit,Android4.4系统浏览器切换到了Chromium(内核是Webkit的分支Blink),Windows Phone 8系统浏览器内核是Trident。

 1.WebKit项目 

(1)项目简介:WebKit项目是苹果公司在2005年发起的一个新的开源项目,是Safari浏览器的内核,是目前的主流浏览器渲染引擎。WebKit项目具有结构清晰、易于维护等优点,WebKit简单灵活和便于引入新移植的特性,使其迅速称为主流的渲染引擎。

 (2)WebKit架构   

WebCore部分:包含了目前被各个浏览器所使用的WebKit共享部分,是加载和渲染网页的基础部分,具体包括HTML解释器、CSS解释器等。  

JavaScriptCore引擎:是WebKit中的默认JavaScript引擎。在Google的Chromium项目中,它被替换为V8引擎。

WebKit Ports部分:是WebKit红的非共享部分,属于WebKit被移植的模块。由于不同浏览器使得平台差异、依赖的第三方库和需求不同,从而导致多种WebKit版本。

WebKit嵌入式接口:指在WebCore和javascript引擎之上的一层绑定和嵌入式编程接口,可以被各种浏览器调用。 

 2.Chromuim项目 

(1)项目简介

  Chromuim项目是Google公司以苹果开源项目WebKit作为内核,创建的一个新的项目,该项目的目标是创建一个快速的、支持众多操作系统的浏览器。在Chromium项目基础上,Google发布了自己的浏览器产品Chrome。与使用WebKit作为内核的Safari浏览器不同,Chromium本身就是一个浏览器,而不是Chrome浏览器的内核,再未从WebKit项目分离之前,Chrome浏览器使用的是WebKit内核。2013年4月,Google宣布从Webkit复制出来并独立运作Blink项目,该项目也就是目前Android4.4及以上系统浏览器采用的内核。

 (2)Blink内核     

Blink项目从WebKit分离出来后,其本身也是源于WebKit项目,只是Google将除Chromium浏览器需要之外的其他移植的代码都删除了,并且在Blink项目中加入了很多新的技术,部分技术如下: 实现跨进程的iframe。iframe允许网页中嵌入其他页面,为了解决潜在的安全问题,为iframe创建一个单独的沙箱进程。 重新整理和修改WebKit关于网络方面的架构和接口。

将DOM树引入JavaScript引擎中。
针对各种技术的性能优化,包括图形、JavaScript引擎、内存使用、编译的二进制文件大小等。

(3)基于Blink引擎的Chromium浏览器结构 

  下图描述了Chromium的架构和主要模块,可知Blink只是其中的一个模块,和它并列的还有众多的Chromium模块,包括GPU/CommandBuffer(硬件加速架构)、V8 JavaScript引擎、沙箱模型、CC(Chromium合成器)、IPC、UI等。"Content模块"和"Content API(接口)"

  "Content模块"和"Content API"将下面的渲染机制、安全机制和插件机制等隐藏起来,提供一个接口层,是Chromium对渲染网页功能的抽象,被内部的Chromium浏览器、Content Shell调用,是用来渲染网页内容的模块。 "Chromium浏览和"Content Shell"

 "Chromium浏览和"Content Shell"是构建在Content API之上的两个"浏览器",Chromium具有浏览器的完成功能。

"Content Shell"是使用Content API包装的一层简单的"壳",用户可以使用Content模块来渲染和显示网页内容。Android WebView模块

  Android WebView模块是希望利用Chromiuim的实现来替换原来的Android系统默认的WebView. 

 3.浏览器内核 

(1)内核介绍     

在浏览器中,有一个最重要的模块,它主要的作用是将页面转变成可视化的图像结果,这就是浏览器内核,也被称为渲染引擎。所谓渲染,就是根据描述或者定义构建数学模型,通过模型生成图像的过程。浏览器的渲染引擎就是能够将HTML/CSS/JavaScript文本及其相应的资源文件转换成图像结果的模块。 

 (2)内核特征    

一个渲染引擎主要包括HTML解释器、CSS解释器、布局和JavaScript引擎、绘图等。 HTML解释器:解释HTML文本的解释器,主要作用是将HTML文本解释成DOM(文档对象模型)树,DOM是一种文档的表示方法.

CSS解释器:级联样式表的解释器,主要作用是为DOM中各个元素对象计算出样式信息,从而为计算最后网页的布局提供基础设施。
布局:在DOM创建之后,WebKit需要将其中的元素对象同样式信息结合起来,计算他们的大小位置等布局信息,形成一个能够表示这所有信息的内部表示模型。
JavaScript引擎:使用JavaScript代码可以修改网页的内容,也能修改CSS的信息,JS引擎能够解释JS代码并通过DOM接口和CSSOM接口来修改网页内容和样式信息,从而改变渲染的结果。
绘图:使用图形库将布局计算后的各个网页的节点绘制成图形结果。
 
Android 集成Chrome 浏览器内核 Crosswalk Crosswalk 内核的兴起与消亡 Android 4.4 版本之前,使用的是基于 androidWebKit 的 WebView 但实际上,由于 Android 的碎片化问题(大量存在不同的 Android 系统版本,并且各个厂商对内置应用进行定制化,有可能用的不是最新的浏览器内核)。这就导致 WebView 在真实环境中对 API 的支持根本无迹可寻,越发混乱。 随着混合开发的兴起,前端对 ... 阅读详情

相关推荐

行业资讯 | Android WebView 致安卓应用闪退,mPaaS 助你规避这波 Bug

近日,大量安卓用户因 WebView 发生故障而出现应用闪退,而通过使用 mPaaS 集成独立的 UC 浏览器内核以及容器与离线包技术,即可规避这类长期令众多安卓开发同学头疼不已兼容性问题

移动开发平台 mPaaS 的博客 828

浏览器引擎分类及应用范围

我们经常听到一些关于浏览器的名词,如IE、chrome、Webkit等,那么,浏览器与浏览器引擎之间,有什么样的关系呢?他们的类别又是如何划分的呢? 1、常见的浏览器: IE、Firefox、chrome、Safari、Opera等 2、常见的浏览器引擎(内核)及其特点: Webkit,开源,稳定,高效,兼容性好,源码结构清晰,易于维护。 Gecko,开源,使用量大(仅次于IE的Trid

Mr.Wang's blog 1363

谷歌原厂安卓4.4固件(Android 4.4 )( WiFi)版

刷机......

【Webkit学习】Android4.4 Chromium WebView学习

拜读了朱永盛

学无止尽 2787

科研ABC - The Results Section(SCI论文写作补充)

1 前言 1.1 IMRD格式 1.2 Results部分意义 1.3 Results部分主要内容 2 Results & Discussion关系 2.1 Results & Discussion部分的搭配方式 2.2 Results & Discussion部分的区分 3 Results部分的结构 3.1 Move 1: Set the Stage 3.1....

洋洋洋2020的blog 1622

《全连接到卷积神经网络:图像识别的演变历程》

这篇文章会从传统全连接层面临的困境说起,揭示卷积神经网络(CNN)成为图像识别核心动力的原因,探究其背后蕴含的设计思想与技术创新。但是回顾历史,CNN的出现提醒我们:技术的突破往往是由对自然规律的模仿和重新构建得来的。也许,当机器真的学会“像人一样看世界”的时候,它们的“眼睛”早就超过生物视觉的限制了。例如,用5×5的核处理224×224的输入时,只要25个参数(而不是全连接那种百万级的)。* 局部性:网络的底层只需留意局部的地方(像边缘、纹理这样的地方),不用管那些全局像素之间复杂的关系。

2401_82434295的博客 674

查看Android系统默认WebView浏览器内核版本

首先了解2个概念: 1.Android系统默认WebView浏览器内核版本:是指Android的app中如果直接使用WebView组件加载网页的话,所使用的浏览器内核。这个浏览器来源于Android系统,app端无法修改。 2.系统内置的浏览器应用的内核版本:是指Android系统中内置的名叫"浏览器"的app中所使用的浏览器内核。而这个"浏览器"app虽然是系统内置的,但是其本质上跟用户自己安装的app没有太大区别。所以此app可能使用了自定义的浏览器,所以其与系统默认浏览器内核版本可能不同。 了解了上

冰雪世界 1万+

元数据及数据仓库相关概念

文章目录元数据(metadata)的概念Data about Data定义技术元数据业务元数据总结数据仓库ODS简单的理解为 Operational Data Store, 运营数据仓储 数据整合层(也叫做数据缓冲层)EDW简单理解为 Enterprise Data Warehouse, 企业数据仓库ODS与EDW之间的差异使用角色数据来源数据获取性能和及时性数据架构数据共享能力数据系统提供应用数...

frone的专栏 3139

Android 浏览器内核浅谈,基于WebKit内核的Android手机浏览器的性能研究与加载优化...

南京邮电大学硕士2017基于WebKit内核的Android手机浏览器的性能研究与加载优化Performance Research and Load Optimization of Android Mobile Phone Browser Base on WebKit Kernel许侠姚建国电子与通信工程(专业学位)随着互联网技术的迅速发展和4G网络的日渐完善,以及网络的迅速普及,移动浏览器作为人...

weixin_42398843的博客 669

MATLAB实战:利用扫频数据重构系统伯德图的关键步骤

本文详细介绍了如何利用MATLAB处理扫频数据并重构系统伯德图的完整实战流程。内容涵盖数据导入与清洗、增益与相位的精确计算、频率响应数据对象(frd)的构建、数据平滑与插值处理,以及最终生成专业伯德图并进行关键参数(如相位裕度)标注的方法。文章重点解决了从实测“黑盒子”系统数据出发,获取直观频率响应特性曲线的核心问题,为控制系统分析与设计提供了实用指南。

weixin_29098117的博客 398

apm软件仿真+QGC地面站 环境搭建

本教程使用场景:apm软件仿真运行于虚拟机 ubuntu环境。qgc地面站位于windows 系统。两个环境在同一台电脑上。 一.apm仿真环境搭建 1.安装vm虚拟机及ubuntu 18。 2.ubuntu下 下载Ardupilot 飞控源码 并配置环境。 下载源码: git clone https://github.com/ArduPilot/ardupilot cd ardupilot git submodule update --init --recursive 配置所需运行的环境:

qthello 6110

Android安卓自带的 WebView 浏览器内核更新

Android 安卓自带 WebView 浏览器内核更新教程

aken 8万+

闲鱼x-sign、x-mini-wua、x-umt三字段协同验证机制解析

在移动客户端风控体系中,设备标识与行为签名是保障接口安全的核心技术。x-sign并非传统时间戳+密钥的静态签名,而是融合设备特征、运行时状态与服务端动态因子的多阶段位运算结果;x-mini-wua作为小程序轻量水印,依赖主App注入的短时效sessionKey与截断时间戳;x-umt则通过设备硬件与网络环境联合编码实现强绑定。三者构成‘设备—环境—行为’三位一体的交叉验证链路,广泛应用于电商API防护、二手平台数据采集及自动化运营等场景。本文基于Android/iOS真机逆向与Frida动态分析,揭示其生成

weixin_30457551的博客 422

编译安卓上的开源浏览器内核Chromium(ChromeView)源码步骤

目前安卓上的开源浏览器有zicro、TintBrowser,但他们都只是对系统自带的WebView进行了封装,如果需要自定义浏览器的话只能寻找开源的浏览器内核。安卓上开源的浏览器内核主要有Webkit和Chromium,本文将以Mac系统为例,对编译Chromium的安卓版源码步骤进行介绍。

心砚THU的专栏 1万+

如何用 Python 实现自动化测试?详细步骤和代码示例

Python自动化测试实战指南 本文系统介绍了使用Python构建自动化测试体系的完整方案。主要内容包括: 环境搭建:Python 3.8+虚拟环境配置,安装pytest、Selenium等核心测试库 分层测试实现: 单元测试:通过计算器示例演示pytest断言和异常测试 API测试:使用requests库进行RESTful接口验证 UI测试:Selenium WebDriver实现网页交互测试 高级特性: 使用fixture管理测试依赖 参数化实现数据驱动测试 生成HTML和Allure测试报告 GitH

m0_64424835的博客 452

含分布式电源的配电网三段式电流保护影响仿真研究

文章摘要 本文研究了分布式电源(DG)接入对配电网三段式电流保护的影响。通过在Matlab/Simulink平台搭建含同步发电机型DG的10kV配电网模型,设计了基于傅里叶算法的三段式电流保护模块(I段瞬时速断、II段限时速断、III段定时限过流)。研究分析了不同DG接入位置、容量及故障点对保护系统的影响机理。仿真结果表明,DG接入会改变故障电流特性,可能导致三种典型问题:保护范围扩大引起误动、保护灵敏度下降导致拒动,以及保护选择性丧失。该研究为含DG配电网的保护配置与整定提供了理论依据和仿真参考,对保障分

huanghm88的专栏 269

Android集成腾讯X5浏览器内核库

Android集成腾讯X5浏览器内核库一、相关配置1. 相关地址2.引入SDK3. AndroidManifest配置二、Application中初始化内核三、代码实现1. 自定义带ProgressBar的WebView2. activity_main.xml3. MainActivity 一、相关配置 1. 相关地址 https://x5.tencent.com/ 2.引入SDK 在build.gradle中dependencies引入sdk api 'com.tencent.tbs.tbssdk:s

Gary__123456的博客 2631

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

浏览器内核详解

公司内部使用宜搭进行搭建的,有时候会遇到使用HTML内嵌网页的场景,首先确保你有权限进行展示,在自定义页面组件中进行HTML的展示然后注意一点:安卓系统的钉钉内核版本较低,需要额外注意兼容性,IOS的版本则比较新。

TN_XY的博客 1507

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Android升级WebView浏览器内核版本

使用项目编译的系统,会发现在部分使用系统自带的浏览器内核来加载网页时会出现报错,加载不出网页的情况,其实这是由于自带的所导致的,只要更新成比较新的浏览器内核版本就行了。(1) Android系统源码编译环境(Android9.0)(1). ,这里下载非beta版本,beta版本有可能会不稳定,这里我下载的是版本的 (2). 下载的过程比较麻烦,还要进行,和,在文章后面会附上已经下载好了的较为新的(下载下来后其实是一个apk文件),我要编译的是架构的系统,故下载对应版本的文件 (1). 在路径下替换和架构的文

qq_35993502的博客 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

cordova Android集成crosswalk浏览器内核

由于ios对浏览器内核性能较好,不需要使用第三方内核,这里针对Android打包 1.安装crosswalk插件 cordova plugin add cordova-plugin-crosswalk-webview 2.关闭crosswalk多核打包 在项目根目录下的config.xml配置如下内容 <preference name="xwalkMultipleApk" value...

iceking 2943

深度解析Firefox Android技术内幕:移动浏览器内核的工程奇迹

你是否曾好奇,一个看似简单的移动浏览器背后究竟隐藏着怎样的技术奥秘?当我们谈论移动浏览器内核时,GeckoView这个名字可能并不陌生,但真正理解其实现原理的开发者却寥寥无几。今天,让我们一同揭开Firefox Android的技术面纱,探索这个由Mozilla打造的移动浏览器工程奇迹。 ## 浏览器内核的架构革命:从GeckoView说起 GeckoView并非简单的WebView封装,而是

gitblog_00829的博客 1129

【Android】安卓webview播放视频白屏解决方法

安卓webview白屏问题解决

splinter的博客 3513

android 浏览器内核 内存占用,移动浏览器的四大内核

手机浏览器种类:UC浏览器,QQ浏览器,欧朋浏览器,百度手机浏览器,360安全浏览器,谷歌浏览器,搜狗手机浏览器,猎豹浏览器,其他杂牌浏览器国内的UC和QQ,百度等手机浏览器都是根据Webkit修改过来的内核,国内尚无自主研发的内核,就像国内的手机操作系统都是基于Android修改的全球仅有四大浏览器内核目前全球仅有四个独立的浏览器内核,分别为微软IE的Trident、网景最初研发后卖给Mozil...

weixin_39976413的博客 1040

各种浏览器内核介绍

浏览器是我们每天几乎都必须使用的软件产品,可是对于自己每天都接触的浏览器,很多同学其实对其一无所知。今天异次元就跟大家说说关于浏览器内核的一些事儿吧,好让你了解多一点稍微内在的东西。 在下面的文章中主要介绍一些常见的浏览器内核和JavaScript引擎,部分内容来自于我在网上找到的资料,还有一些是我自己的理解,不保证完全正确,但是大致应该是没错的。如果有误,请指正…… 一、浏览器内核 (排版引

1008

更新安卓手机浏览器内核!手把手教你升级到156.0.8078.39(Android System WebView)系统浏览器内核更新办法,详细,准确,一步一步教会你。

更新安卓手机浏览器内核!手把手教你升级到156.0.8078.39(Android System WebView)系统浏览器内核更新办法,详细,准确,一步一步教会你。

2301_81608124的博客 1987

浏览器内核概述

浏览器内核的概述

959 1688
上一篇: Android开发浏览器(实践入门)
下一篇: Android--WebView开发项目使用这些就够了
混魔MJM
博客等级 码龄9年 57粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值