日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Android 浏览器内核浅谈[通俗易懂](Project)

發布時間:2023/12/19 综合教程 51 生活家
生活随笔 收集整理的這篇文章主要介紹了 Android 浏览器内核浅谈[通俗易懂](Project) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目前,移動設備瀏覽器上常用的內核有Webkit,Blink,Trident,Gecko等,其中iPhone和iPad等蘋果iOS平臺主要是WebKit,Android4.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 浏览器内核浅谈[通俗易懂](Project)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。