多面分析HarmonyOS與Android的特點(diǎn)
一、前言
這段時(shí)間我在尋思著學(xué)習(xí)一下鴻蒙,第一是因?yàn)樵谥肿鲆粋€(gè)自己的開(kāi)源項(xiàng)目,技術(shù)選型的時(shí)候想到了鴻蒙;第二是我個(gè)人非??春螟櫭上到y(tǒng)的未來(lái),清楚明白華為和一些民族企業(yè)擔(dān)負(fù)的責(zé)任和國(guó)人的期待,雖然帶著一些民族感情;鴻蒙剛發(fā)布的時(shí)候自己是非常激動(dòng)的,但是后來(lái)項(xiàng)目太忙一直沒(méi)有認(rèn)真的去了解過(guò),這次打算花一部分時(shí)間認(rèn)認(rèn)真真的去研究學(xué)習(xí)一下。于是我開(kāi)始試探性的去請(qǐng)教身邊的大佬們,公司的CTO、中臺(tái)部門的總監(jiān)、老東家數(shù)十年行業(yè)經(jīng)驗(yàn)的老架構(gòu)、以及在中科院讀研究生的大學(xué)老室友、技術(shù)圈的網(wǎng)友等等,他們都給出了自己獨(dú)特的看法,讓我從多方面更好的去了解到了大家對(duì)鴻蒙的認(rèn)識(shí),當(dāng)然期間也發(fā)現(xiàn)很多國(guó)內(nèi)開(kāi)發(fā)者對(duì)鴻蒙系統(tǒng)嗤之以鼻或者抱著一些不太看好的心態(tài),甚至有人在我的關(guān)于鴻蒙開(kāi)發(fā)的博客下評(píng)論一些比較難聽(tīng)的話?。ó?dāng)然一千個(gè)讀者有一千個(gè)哈姆雷特,這都是個(gè)人自由);這肯定是一篇遭到唾棄的文章!但這一切都無(wú)法磨滅我堅(jiān)定的信仰:支持國(guó)產(chǎn)、支持民族企業(yè)、支持每一個(gè)為國(guó)家富強(qiáng)而努力的同胞!
二、HarmonyOS與Android的對(duì)比
2.1 HarmonyOS并不是Android的替代品
HarmonyOS與Android的對(duì)比相信是很多關(guān)注鴻蒙的人,非常關(guān)注的一個(gè)焦點(diǎn)話題,我并不特別了解安卓(Android)開(kāi)發(fā),只在大學(xué)期間有過(guò)一些課程的涉獵,但是我想我既然想學(xué)鴻蒙(HarmonyOS)那就離不開(kāi)去硬著頭皮探索這個(gè)問(wèn)題!這里事先聲明,寫這篇文章之前我認(rèn)真閱讀了很多知乎、C站、B站、HarmonyOS官網(wǎng)、騰訊網(wǎng)關(guān)于HarmonyOS相關(guān)新聞等文章,也稍微跟了一些源碼最后做了這些總結(jié)。
文章觀點(diǎn):
HarmonyOS并不是Android的替代品,HarmonyOS與Android并非同一個(gè)賽道HarmonyOS目前缺乏生態(tài)支持這一點(diǎn)遠(yuǎn)遠(yuǎn)比不上Android,但是HarmonyOS的戰(zhàn)略眼光更加高,未來(lái)可期HarmonyOS相比Android有一定的性能提升
2.2 系統(tǒng)定位
安卓(Android):是一種基于Linux內(nèi)核(不包含GNU組件)的自由及開(kāi)放源代碼的操作系統(tǒng)。主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國(guó)Google公司和開(kāi)放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開(kāi)發(fā)。
鴻蒙(HarmonyOS):是一款面向萬(wàn)物互聯(lián)時(shí)代的、全新的分布式操作系統(tǒng)。在傳統(tǒng)的單設(shè)備系統(tǒng)能力基礎(chǔ)上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念,能夠支持手機(jī)、平板、智能穿戴、智慧屏、車機(jī)等多種終端設(shè)備,提供全場(chǎng)景(移動(dòng)辦公、運(yùn)動(dòng)健康、社交通信、媒體娛樂(lè)等)業(yè)務(wù)能力。
建議可以看下華為官方對(duì)于HarmonyOS系統(tǒng)定位的介紹視頻:
視頻地址:
https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/7C1346286/v3/7C5879811130980925606204416/MP4Mix_H.264_1920x1080_6000_HEAAC1_PVC_NoCut.mp4
從上面的簡(jiǎn)單介紹就能很明顯的看出,Android和HarmonyOS兩款產(chǎn)品的研發(fā)初衷完全不一樣,根本就不在同一個(gè)賽道上,安卓系統(tǒng)面向的是手機(jī)端,而鴻蒙系統(tǒng)面向的是這些年比較的新的概念物聯(lián)網(wǎng),致力于利用其5G世界領(lǐng)先的技術(shù),優(yōu)先布局和打造一個(gè)超級(jí)終端,萬(wàn)物互聯(lián)的生態(tài)。
2.3 內(nèi)核對(duì)比
安卓(Android):基于linux的宏內(nèi)核設(shè)計(jì) ,宏內(nèi)核包含了操作系統(tǒng)絕大多數(shù)的功能和模塊,而且這些功能和模塊都具有最高的權(quán)限,只要一個(gè)模塊出錯(cuò),整個(gè)系統(tǒng)就會(huì)崩潰,這也是安卓系統(tǒng)容易崩潰的原因。系統(tǒng)開(kāi)發(fā)難度低。
鴻蒙(HarmonyOS):基于微內(nèi)核設(shè)計(jì),微內(nèi)核僅包括了操作系統(tǒng)必要的功能模塊(任務(wù)管理、內(nèi)存分配等)處在核心地位具有最高權(quán)限,其他模塊不具有最高權(quán)限,也就是說(shuō)其他模塊出現(xiàn)問(wèn)題,對(duì)于整個(gè)系統(tǒng)的運(yùn)行是沒(méi)有阻礙的。微內(nèi)核穩(wěn)定性很高。鴻蒙系統(tǒng)包含了兩個(gè)內(nèi)核:
- Linux內(nèi)核
- LiteOS內(nèi)核
建議可以看下華為官方對(duì)于HarmonyOS的技術(shù)架構(gòu)介紹視頻,它這個(gè)有對(duì)內(nèi)核層總體架構(gòu)有說(shuō)明。
內(nèi)核層
- 內(nèi)核子系統(tǒng):HarmonyOS采用多內(nèi)核設(shè)計(jì),支持針對(duì)不同資源受限設(shè)備選用適合的OS內(nèi)核。內(nèi)核抽象層(KAL,Kernel Abstract Layer)通過(guò)屏蔽多內(nèi)核差異,對(duì)上層提供基礎(chǔ)的內(nèi)核能力,包括進(jìn)程/線程管理、內(nèi)存管理、文件系統(tǒng)、網(wǎng)絡(luò)管理和外設(shè)管理等。
- 驅(qū)動(dòng)子系統(tǒng):硬件驅(qū)動(dòng)框架(HDF)是HarmonyOS硬件生態(tài)開(kāi)放的基礎(chǔ),提供統(tǒng)一外設(shè)訪問(wèn)能力和驅(qū)動(dòng)開(kāi)發(fā)、管理框架。
視頻地址:
https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/D71346286/v3/2999FE4A1130980852826641152/MP4Mix_H.264_1920x1080_6000_HEAAC1_PVC_NoCut.mp4
2.4 運(yùn)行速度
安卓(Android):基于Java語(yǔ)言編碼,Java語(yǔ)言有個(gè)很大的缺點(diǎn)是其不能直接與底層操作系統(tǒng)通信,需要通過(guò)虛擬機(jī)充當(dāng)中間轉(zhuǎn)換的角色,這是每一個(gè)Java開(kāi)發(fā)人員都知道的知識(shí)點(diǎn),JVM也是我們Java程序員必修的一門高級(jí)課程。雖然Java語(yǔ)言由于虛擬機(jī)的優(yōu)化,編譯器的優(yōu)化,熱點(diǎn)代碼等技術(shù)使得其越來(lái)越快,但是無(wú)法直接與操作系統(tǒng)互相通信一直影響著其性能的突破(AOT(Ahead Of Time)技術(shù)我并未研究過(guò),只了解Java的JIT(Just-in-time))。
安卓(Android)技術(shù)架構(gòu)圖如下:
鴻蒙(HarmonyOS):鴻蒙的開(kāi)發(fā)也可以采用Java語(yǔ)言,官方也推薦使用Java語(yǔ)言開(kāi)發(fā),但是華為針對(duì)安卓或者說(shuō)Java語(yǔ)言的這種特性,研發(fā)了方舟編譯器,通過(guò)方舟編譯器編譯的軟件可以直接與底層操作系統(tǒng)通信,方舟編譯器在這一層面做到了取代虛擬機(jī)。雖然沒(méi)有研究過(guò),但是推斷應(yīng)該是在打包的時(shí)候,通過(guò)方舟編譯器轉(zhuǎn)換為操作系統(tǒng)能夠讀懂的機(jī)器語(yǔ)言,這樣就可以跳過(guò)虛擬機(jī)解釋這一步驟,當(dāng)然這是肯定對(duì)機(jī)器的內(nèi)存要求比較高,應(yīng)該也存在啟動(dòng)后無(wú)法繼續(xù)優(yōu)化等問(wèn)題。
鴻蒙(HarmonyOS)系統(tǒng)架構(gòu)圖如下:
三、方舟編譯器
以下部分來(lái)源腳本之家對(duì)方舟編譯器的介紹: http://www.dbjr.com.cn/softs/691124.html
方舟編譯器
華為方舟編譯器作為一款全新的編譯器可以顯著提高手機(jī)的運(yùn)行速度,它不采用現(xiàn)有編譯器邊解釋邊執(zhí)行的模式,而是將這種動(dòng)態(tài)編譯改為靜態(tài)編譯,可以做到全程執(zhí)行機(jī)器碼,進(jìn)而高效運(yùn)行程序,大大縮短程序響應(yīng)時(shí)間。
方舟編譯器的優(yōu)勢(shì)
- 多語(yǔ)言聯(lián)合:將同一應(yīng)用中的不同語(yǔ)言代碼聯(lián)合編譯、聯(lián)合優(yōu)化,消除語(yǔ)言間的性能“鴻溝”,降低開(kāi)發(fā)者的優(yōu)化成本
- 輕量運(yùn)行時(shí):通過(guò)編譯器的語(yǔ)言實(shí)現(xiàn)能力和優(yōu)化能力增強(qiáng),應(yīng)用運(yùn)行時(shí)的開(kāi)銷更小
- 軟硬件協(xié)同:編譯器與芯片實(shí)現(xiàn)軟硬件協(xié)同優(yōu)化,充分發(fā)揮硬件能效,應(yīng)用體驗(yàn)更佳
- 多平臺(tái)支持:支持面向多樣化的終端設(shè)備平臺(tái)進(jìn)行編譯和運(yùn)行,根據(jù)設(shè)備特征提供便捷的開(kāi)發(fā)與部署策略,提高開(kāi)發(fā)效率
以上內(nèi)容是小編給大家介紹的HarmonyOS與Android的特點(diǎn),希望對(duì)大家有所幫助,更多精彩內(nèi)容繼續(xù)關(guān)注腳本之家!
相關(guān)文章
android自定義gradle插件并且發(fā)布到本地倉(cāng)庫(kù)詳細(xì)教程
這篇文章主要介紹了android自定義gradle插件并且發(fā)布到本地倉(cāng)庫(kù)詳細(xì)教程的相關(guān)資料,需要的朋友可以參考下2023-07-07Android實(shí)現(xiàn)同頻共幀動(dòng)畫效果
我們聽(tīng)過(guò)“同頻共振”,其原理是多個(gè)物體物體以同樣的頻率振動(dòng),但是本篇實(shí)現(xiàn)的效果是“同頻共幀”,含義是:動(dòng)畫以同樣的頻率和同樣的幀展示在多個(gè)不同View上,文中通過(guò)代碼示例介紹的非常詳細(xì),感興趣的同學(xué)可以自己動(dòng)手嘗試一下2024-01-01Android 第三方應(yīng)用接入微信平臺(tái)研究情況分享(二)
微信平臺(tái)開(kāi)放后倒是挺火的,許多第三方應(yīng)用都想試下,這里把我的整個(gè)研究情況給出來(lái),希望可以共同學(xué)習(xí),感興趣的朋友可以了解下2013-01-01Android開(kāi)發(fā)中ImageView的scaletype屬性用法分析
這篇文章主要介紹了Android開(kāi)發(fā)中ImageView的scaletype屬性用法,分析了scaletype屬性參數(shù)的常見(jiàn)功能并結(jié)合實(shí)例形式給出了具體的使用方法,需要的朋友可以參考下2016-08-08

Android自定義網(wǎng)絡(luò)連接工具類HttpUtil

android中Bitmap用法(顯示,保存,縮放,旋轉(zhuǎn))實(shí)例分析

Android 倒計(jì)時(shí)控件 CountDownView的實(shí)例代碼詳解

Android自定義View實(shí)現(xiàn)QQ音樂(lè)中圓形旋轉(zhuǎn)碟子

Android輸入框添加emoje表情圖標(biāo)的實(shí)現(xiàn)代碼