7月8日,鴻蒙系統(tǒng)升級量就已達(dá)3000萬部手機(jī),這是一個很理想的速度。加上升級用戶普遍反映體驗非常好,這讓大家普遍認(rèn)為鴻蒙大有希望,成功在即。

網(wǎng)站設(shè)計制作、成都網(wǎng)站制作的關(guān)注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)公司一個展示的機(jī)會來證明自己,這并不會花費(fèi)您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。
的確,初出茅廬的鴻蒙,這樣的成績很優(yōu)秀,但這個時候要注意千萬不可以盲目樂觀。我們必須清醒地意識到,鴻蒙的成功之路,這才是小試牛刀、剛剛開始,更艱難的工作,還在后頭。
一、鴻蒙系統(tǒng)的體驗,還基本上沒有發(fā)揮出其比安卓、iOS領(lǐng)先一代的優(yōu)勢。鴻蒙還需要盡快地把其優(yōu)勢性能體現(xiàn)出來,以持續(xù)增加對廣大用戶的吸引力。
目前升級用戶最普遍的反饋,主要集中在日常操作的流暢性、升級的平滑、便利以及對安卓應(yīng)用的兼容性等方面。
但要知道鴻蒙系統(tǒng)是面向萬物互聯(lián)時代的統(tǒng)一的物聯(lián)網(wǎng)操作系統(tǒng),并不只是安卓系統(tǒng)的一個平行替代品。真正體現(xiàn)出鴻蒙作為 領(lǐng)先安卓一代 的優(yōu)勢,才是鴻蒙系統(tǒng)獲得穩(wěn)定市場地位的法寶,不可以疏忽。
比安卓系統(tǒng)強(qiáng),甚至在很多方面也要比iOS強(qiáng),這才是鴻蒙成功、成熟的一個標(biāo)志。 強(qiáng)大的多設(shè)備協(xié)同、超低時延、更高的存儲及文件管理性能、更強(qiáng)大的安全性 等充分發(fā)揮,才是戰(zhàn)勝安卓系統(tǒng)的真正利器。
這些領(lǐng)先優(yōu)勢的閃亮展現(xiàn),才會 吸引更多用戶,才會督促其它手機(jī)廠家也參與到鴻蒙大家庭中來 ,這很重要。
二、適配、升級的節(jié)奏要快,要更快。
現(xiàn)在的升級速度當(dāng)然已經(jīng)很快了,華為工程師們肯定也是在提速、再提速。工程師們辛苦了,但適配、升級速度對鴻蒙之成功確實很關(guān)鍵,還是要加把勁、再加把勁。
華為手機(jī)的增量恢復(fù)常態(tài),恢復(fù)到每年2-3億部新機(jī)出貨,短期內(nèi)解決的困難很大。這個時候存量手機(jī)就是適配、升級的主要載體。但是要知道畢竟 手機(jī)的壽命是有限的 。再好用、再可靠的手機(jī),使用壽命也不過三、五年。
此前適配、升級的主要是新機(jī)型,往后才逐步拓展到更早的機(jī)型。目前的適配、升級已經(jīng)開始拓展到二、三年前的一些機(jī)型,無論如何,這些手機(jī)使用壽命已經(jīng)進(jìn)入后期。 晚一點兒適配,能升級的存量手機(jī)就會少一些 。
三、鴻蒙原生應(yīng)用開發(fā)及生態(tài)建設(shè)。
這同樣是保持對用戶吸引力的一個關(guān)鍵因素。用戶用的,就是手機(jī)上的一個個app,沒有足夠的app,就談不上操作系統(tǒng)的成功。目前鴻蒙應(yīng)用還主要以兼容的安卓應(yīng)用為主,需要盡早推動更多原生app的開發(fā)上線。
真正的原生app,也才能最大程度展現(xiàn)鴻蒙系統(tǒng)的技術(shù)優(yōu)勢 。絕大多數(shù)主流移動應(yīng)用都推出原生的鴻蒙app,且功能不弱于相應(yīng)的安卓應(yīng)用,鴻蒙才具備了獨立發(fā)展、繁榮生態(tài)的根基。
四、越早升級的用戶,要么是鐵鐵的花粉,要么是對新事物、新技術(shù)感興趣的人。
他們對鴻蒙系統(tǒng)的熱情度很高,升級要求也很迫切。但是隨著這些用戶逐步完成升級,其它用戶對于升級鴻蒙系統(tǒng)的熱情可能就會弱了。加上更多人其實很難對操作系統(tǒng)有準(zhǔn)確、深入的認(rèn)識,他們其實并不關(guān)心系統(tǒng)升級,或是根本就不懂系統(tǒng)升級這個事。
很多手機(jī)用戶其實從來就不關(guān)心系統(tǒng)的升級,或者是清理、重置系統(tǒng)等。要想說服他們升級鴻蒙系統(tǒng),可就沒那么容易了。如果華為新手機(jī)還能如2020年之前那樣,每年2億部以上的新機(jī)出貨量,通過預(yù)裝鴻蒙就可以達(dá)到普及的目的。
但 現(xiàn)在主要靠的是從舊的安卓系統(tǒng)升級而來,這就要求用戶要有主動升級的意識,難度要大很多 。越往后,鐵粉和有主動意識升級鴻蒙者,就會越少,這個趨勢要值得關(guān)注。
五、鴻蒙系統(tǒng)成功的根本,還在于華為手機(jī)必須恢復(fù)到以正常的節(jié)奏推出新機(jī),至少也要達(dá)到2019年那時的出貨量。
每年保持2億部以上的新機(jī)出貨,并且直接搭載鴻蒙系統(tǒng),這才是鴻蒙系統(tǒng)的徹底成功和成熟標(biāo)志。畢竟存量手機(jī)要逐步退出使用的,2021年年底能完成升級的一些早期機(jī)型,可能已經(jīng)使用了3-4年,這些手機(jī)大概率在1-2年內(nèi)就要換新了。
盡管目前 很多鐵桿花粉紛紛推遲了換機(jī)計劃,期待升級、體驗鴻蒙系統(tǒng),并熱切期待著華為能徹底解決缺芯困難,華為手機(jī)能王者歸來 。 但這個過程,顯然未必是那么順利,這個時刻的到來,可能不會那么快。
市場上的存量華為手機(jī)也就那么幾億部,而且從明年起每年不得不淘汰的老手機(jī),一年下來也得上千萬部。如果短期內(nèi)不能恢復(fù)新手機(jī)的正常出貨,2年以后的華為存量手機(jī)不可避免地開始快速減少,一年換新量就可能達(dá)到大幾千萬部以上。
而今年華為新手機(jī)出貨能達(dá)到1億部已經(jīng)很難了,這還基本上是靠存量芯片支撐。明年存量麒麟芯片肯定也剩不下多少了,用高通等芯片也不是辦法,畢竟明年了再推4G手機(jī),市場接受度也更低。
但徹底解決缺芯問題,華為手機(jī)王者歸來,確實是一個大工程,而且還 不能只靠華為自己 。鴻蒙系統(tǒng)的成功,與華為手機(jī)的制造、出貨恢復(fù)正常緊密相關(guān),這其實就是與芯片(半導(dǎo)體)產(chǎn)業(yè)的國產(chǎn)化進(jìn)程密切相關(guān)。這需要全國協(xié)同,團(tuán)結(jié)一致,共同解決我國半導(dǎo)體產(chǎn)業(yè)的太多短板。
期待芯片這座大山盡早徹底攻克,期待華為手機(jī)王者歸來,期待鴻蒙系統(tǒng)一統(tǒng)天下。
根據(jù)華為鴻蒙的時間推進(jìn)表,2021年6月2日,華為將舉辦鴻蒙操作系統(tǒng)及華為全場景新品發(fā)布會。根據(jù)華為此前的介紹,相對于鴻蒙 OS 1.0 來說,鴻蒙 OS 2.0 可登錄更多智能終端設(shè)備,在功能和構(gòu)架上也會有全新的變化。
2020年報顯示,華為在全球的終端連接數(shù)已超10億,其中手機(jī)存量用戶突破7.3億,其中大約90%的華為的存量和在售手機(jī),都可以升級鴻蒙系統(tǒng)。#鴻蒙#
HarmonyOS是一款面向未來的全場景分布式智慧操作系統(tǒng)。
對于消費(fèi)者而言,HarmonyOS用一個統(tǒng)一的軟件系統(tǒng)從根本上解決消費(fèi)者面對大量智能終端體驗割裂的問題,為消費(fèi)者帶來統(tǒng)一、便利、安全的智慧化全場景體驗。
HarmonyOS技術(shù)架構(gòu)支撐1+8+N戰(zhàn)略。
在該戰(zhàn)略中,1是手機(jī),8包括平板、PC、穿戴、智慧屏、AI音箱、耳機(jī)、VR、車機(jī),N是指萬物互聯(lián)。通過通信連接和應(yīng)用打通,從手機(jī)的優(yōu)勢向外圍延展,HarmonyOS技術(shù)架構(gòu)起到了巨大的支撐作用。
在5月21日舉行的華為生態(tài)大會2021中,華為輪值董事長徐直軍強(qiáng)調(diào):華為計劃2021年將國內(nèi)1+8的設(shè)備全面升級到Harmony OS,預(yù)計到2021年年底整體會超過2億臺。
鴻蒙操作系統(tǒng)的重要商業(yè)價值在于,提供了更多的“連接”,從而提升了華為硬件生態(tài)的附加值和內(nèi)涵,將會實現(xiàn)華為系列硬件產(chǎn)品的互聯(lián)乃至智慧城市的萬物互聯(lián),并帶動華為軟硬件生態(tài)持續(xù)繁榮。
IoT是華為在產(chǎn)業(yè)物聯(lián)網(wǎng)時代的重要布局,華為主要聚焦于基礎(chǔ)設(shè)施領(lǐng)域。海量低成本終端設(shè)備連接需要保證連接可管可控,且全網(wǎng)連續(xù)覆蓋,以及端側(cè)(終端)、傳輸、云端安全。
華為已在云側(cè)和端側(cè)擁有升騰、鯤鵬、麒麟等芯片,具備強(qiáng)大算力,疊加鴻蒙操作系統(tǒng)高效、靈活的執(zhí)行能力,將培育大量高價值應(yīng)用。
鴻蒙操作系統(tǒng)與華為“云+端”芯片形成強(qiáng)大合力,形成殺手锏應(yīng)用。
從技術(shù)、生態(tài)兩角度看,操作系統(tǒng)對于ICT廠商而言具有重要意義,鴻蒙操作系統(tǒng)的推出,對華為、對我國自主可控進(jìn)程的意義不言而喻。
借助鴻蒙操作系統(tǒng),華為將在生態(tài)、硬件、先發(fā)+持續(xù)創(chuàng)新三方面體現(xiàn)競爭優(yōu)勢,成為5G+IoT產(chǎn)業(yè)領(lǐng)軍。
1、基于微內(nèi)核、分布式及跨終端的特性,HarmonyOS能更好的適應(yīng)物聯(lián)網(wǎng)時代的需求。
HarmonyOS是一款基于微內(nèi)核的全場景(移動辦公、運(yùn)動 健康 、社交通信、媒體 娛樂 等)分布式操作系統(tǒng)。
鴻蒙操作系統(tǒng)最重要的特性就是“分布式”,即同一個操作系統(tǒng)可以在不同類型的終端上運(yùn)行。
通過“分布式多端協(xié)同身份認(rèn)證”來保證“正確的人”、通過“在分布式終端上構(gòu)筑可信運(yùn)行環(huán)境”來保證“正確的設(shè)備”、通過“分布式數(shù)據(jù)在跨終端流動的過程中,對數(shù)據(jù)進(jìn)行分類分級管理”來保證“正確地使用數(shù)據(jù)”。
在IoT硬件領(lǐng)域,HarmonyOS革命性的分布式技術(shù),還能幫助硬件廠商實現(xiàn)“產(chǎn)品即服務(wù)”的產(chǎn)業(yè)升級。對應(yīng)用開發(fā)者而言,鴻蒙更加方便快捷。
目前,華為單系統(tǒng)的安全能力已經(jīng)做到極致,成為業(yè)界第一個且唯一在微內(nèi)核領(lǐng)域通過了CCEAL5+認(rèn)證的廠家。
2、開源吸引更多生態(tài)伙伴加入
華為從2012年開始研發(fā)鴻蒙操作系統(tǒng),鴻蒙OS以打造生態(tài)為目標(biāo),服務(wù)于華為的硬件產(chǎn)品。
2019年8月9日,華為正式發(fā)布HarmonyOS,同時余承東宣布,HarmonyOS實行開源。
HarmonyOS采用Apache licence開源協(xié)議,該協(xié)議不僅鼓勵代碼共享,還尊重原作者的著作權(quán),更容易吸引商業(yè)進(jìn)入。
全球開發(fā)者均可以使用鴻蒙開源工具包開發(fā)各式應(yīng)用。同時華為也拿出10億美金作為基金,幫助全球開發(fā)者開發(fā)創(chuàng)新應(yīng)用。
此前三星、微軟、諾基亞均在閉源操作系統(tǒng)的嘗試中失敗,而選擇開源路線的google,其安卓系統(tǒng)成功抵抗住蘋果的iOS系統(tǒng),成為目前移動端用戶最多的開源系統(tǒng)。
3、華為技術(shù)積累和海量生態(tài)是HarmonyOS發(fā)展的保障。
鴻蒙從與硬件的捆綁協(xié)同來看,亦類似于蘋果;從免費(fèi)開源的角度看,與安卓相像。
從財報拆分來看,蘋果盡管不直接銷售操作系統(tǒng),但是它通過操作系統(tǒng)產(chǎn)生的增值收入超過了150億美金;谷歌通過操作系統(tǒng)相關(guān)的增值業(yè)務(wù)收入和授權(quán)收入超過幾十億美金。
HarmonyOS 2.0與IOS及安卓的區(qū)別:
無論是谷歌的安卓還是蘋果的IOS,實現(xiàn)收入主要是通過廣告和APP銷售額提成兩種模式。目前階段鴻蒙系統(tǒng)能達(dá)到安卓70 80%水平,HMS生態(tài)已經(jīng)成為全球第三大應(yīng)用生態(tài)。隨著后續(xù)HMS生態(tài)的逐漸成熟,憑借HarmonyOS龐大的終端數(shù)量,HMS生態(tài)有望成為華為新的收入引擎。
鴻蒙操作系統(tǒng)有望在物聯(lián)網(wǎng)時代加速國產(chǎn)化方案整合與整體落地進(jìn)度,國產(chǎn)軟硬件自主可控動能加速釋放,華為自主可控陣營的合作伙伴有望在鴻蒙生態(tài)體系的快速擴(kuò)張路徑中持續(xù)受益。
HarmonyOS生態(tài)已經(jīng)發(fā)展了美的、九陽、老板、潤和軟件和中科創(chuàng)達(dá)等1000多個智能硬件合作伙伴,50多個模組和芯片解決方案合作伙伴,包括家居、出行、教育、辦公、運(yùn)動 健康 、政企、影音 娛樂 等多個領(lǐng)域的合作伙伴。
目前華為與全球TOP 200的APP廠商也在溝通合作,旨在為他們帶來全新的跨終端設(shè)備的體驗。
京東、百度、優(yōu)酷、科大訊飛、金山辦公等120多家知名應(yīng)用廠商已開始基于HarmonyOS進(jìn)行創(chuàng)新,讓消費(fèi)者獲得顛覆性的智慧生活體驗。
華為生態(tài)及整體自控主題相關(guān)公司包括金山辦公,用友網(wǎng)絡(luò),金蝶國際等。東方通(中間件)、中科創(chuàng)達(dá)(系統(tǒng)開發(fā)),潤和軟件(多芯片平臺適配)、常山北明(ISV)、誠邁 科技 (軟件開發(fā))、北信源(移動安全)、高偉達(dá)(金融云)等。
華為智慧生活A(yù)PP活躍用戶超過5,400萬,智慧生活A(yù)PP每日請求數(shù)超過10.8億次,連接設(shè)備超過10億臺。隨著HiLink與HarmonyOS的進(jìn)一步統(tǒng)一,這或許有望進(jìn)一步提升鴻蒙接入設(shè)備的數(shù)量。
鴻蒙OS未來將會承擔(dān)起華為一系列包括電視、音箱、路由器、智能 汽車 等硬件產(chǎn)品的互聯(lián),乃至智慧城市的萬物互聯(lián),組成更大的華為軟硬件生態(tài)。
以下內(nèi)容屬于個人觀點
2019年8月9日,制裁下的華為正式發(fā)布了全新的操作系統(tǒng)HarmonyOS(以下簡稱鴻蒙)。鑒于多方面的相似,鴻蒙系統(tǒng)被質(zhì)疑是否是安卓套殼,是否是EMUI的下一代。本文將從幾個角度分析。
首先給出官方的定義:華為鴻蒙系統(tǒng)是一款全新的面向全場景的分布式操作系統(tǒng)。同時, 谷歌方面承認(rèn)鴻蒙系統(tǒng)是獨立于安卓的操作系統(tǒng)。
一、系統(tǒng)內(nèi)核
首先需要介紹一個概念:內(nèi)核。
內(nèi)核分為宏內(nèi)核和微內(nèi)核,宏內(nèi)核真提醒整體性強(qiáng),因此調(diào)動各方面的性能強(qiáng),但一旦某一個部分出現(xiàn)崩潰,就會整體崩潰;微內(nèi)核的特點是分布式,將一部分操作系統(tǒng)功能移出內(nèi)核至用戶態(tài),從而降低內(nèi)核的復(fù)雜性,性能稍有損失,但擴(kuò)展性極強(qiáng),便于添加新功能,且各部分不相互影響。
如上圖,鴻蒙和安卓都是基于Linux的,而iOS基于更為基礎(chǔ)的 Unix。安卓是宏內(nèi)核,鴻蒙是微內(nèi)核,iOS是混合內(nèi)核。由此, 鴻蒙和安卓的基礎(chǔ)都是Linux,但走的路線不同,一個是微內(nèi)核,一個是宏內(nèi)核,各有優(yōu)勢。
二、系統(tǒng)創(chuàng)新
首先需要說明的是,安卓開放社區(qū)是全世界開放共有的,并不是安卓系統(tǒng)獨家的,代碼都是開源的。
鴻蒙是AOSP加上HMS服務(wù)再加上OpenHarmony,其中用到了安卓開源代碼。而華為鴻蒙自研的EROFS超級文件系統(tǒng)(開源), 極大地提升了性能, 此項技術(shù)也將在安卓13上被使用。
三、發(fā)展成本
從消費(fèi)者直觀的角度,我們看到的東西很多都沒有變,這就引起了套殼的猜想。這時就不得不提到新系統(tǒng)的 適配成本 。
一方面, 安卓系統(tǒng)十幾年的發(fā)展下來,應(yīng)用鏈已經(jīng)完全成熟。 試想一下,企業(yè)是注重利益和效益的,如果這個時候去適配一個全新的系統(tǒng),顯然會浪費(fèi)一部分資源。 這也是鴻蒙獨家應(yīng)用發(fā)展相對較慢的原因。 因此,華為方給出了更高的提成比例來吸引開發(fā)者。所以,此時的鴻蒙 兼容基于安卓開發(fā)的應(yīng)用顯然是最好的選擇,等到應(yīng)用鏈完全成熟再完全拋開兼容。
附贈一個尋找鴻蒙應(yīng)用的方法:在華為應(yīng)用市場中搜索“鴻蒙”,應(yīng)用圖標(biāo)右下角有HMOS方形字樣的則是。另外,鴻蒙獨特的安裝包后綴名為.hpk
有朋友會問:“為什么不等鴻蒙完全成熟再用呢?”原因是,在美國的制裁中,明確規(guī)定禁止華為使用安卓系統(tǒng)。為了不影響用戶的軟件使用,這么做也是迫不得已。
另一方面,從UI設(shè)計來講,華為先前是EMUI是很多年積累的經(jīng)驗, 如果僅僅是為了獨特而更換UI設(shè)計,不僅會給老用戶帶來高昂的學(xué)習(xí)成本,讓新用戶望而卻步,而且甚至是系統(tǒng)更加難以操做。 這也是為什么我們看到的,很大程度是一樣的。
四、總結(jié)
鴻蒙系統(tǒng)有很多獨創(chuàng) ,如超級終端,十分便捷, 但我們也不否認(rèn)其仍不完善 。 沒有一天建起的城市,也不可能一下子成長為巨人 。
2020年9月,鴻蒙進(jìn)入2.0時代。2022年7月27日,鴻蒙3.0即將到來,我們一起期待!
Intent
Intent是對象之間傳遞信息的載體。當(dāng)一個Ability需要啟動另一個Ability時,或者一個AbilitySlice需要導(dǎo)航到另一個AbilitySlice時,可以通過Intent指定啟動的目標(biāo)同時攜帶相關(guān)數(shù)據(jù)。Intent的構(gòu)成元素包括Operation與Parameters。
Intent的構(gòu)成元素
Operation
Action: 表示動作,通常使用系統(tǒng)預(yù)置Action,應(yīng)用也可以自定義Action。例如IntentConstants.ACTION_HOME表示返回桌面動作。
Entity:表示類別,通常使用系統(tǒng)預(yù)置Entity,應(yīng)用也可以自定義Entity。例如Intent.ENTITY_HOME表示在桌面顯示圖標(biāo)。
Uri:表示Uri描述。如果在Intent中指定了Uri,則Intent將匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。
Flags:表示處理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION標(biāo)記在本地的一個Ability是否可以遷移到遠(yuǎn)端設(shè)備繼續(xù)運(yùn)行。
BundleName:表示包描述。如果在Intent中同時指定了BundleName和AbilityName,則Intent可以直接匹配到指定的Ability。
AbilityName: 表示待啟動的Ability名稱。如果在Intent中同時指定了BundleName和AbilityName,則Intent可以直接匹配到指定的Ability。
DeviceId: 表示運(yùn)行指定Ability的設(shè)備ID。
當(dāng)Intent用于發(fā)起請求時,根據(jù)指定元素的不同,分為兩種類型:
如果同時指定了BundleName與AbilityName,則根據(jù)Ability的全稱(例如,“com.demoapp.FooAbility”)來直接啟動應(yīng)用。
如果未同時指定BundleName和AbilityName,則根據(jù)Operation中的其他屬性來啟動應(yīng)用。
不同應(yīng)用在各自獨立的進(jìn)程中運(yùn)行。當(dāng)應(yīng)用以任何形式啟動時,系統(tǒng)為其創(chuàng)建進(jìn)程,該進(jìn)程將持續(xù)運(yùn)行。當(dāng)進(jìn)程完成當(dāng)前任務(wù)處于等待狀態(tài),且系統(tǒng)資源不足時,系統(tǒng)自動回收。
在啟動應(yīng)用時,系統(tǒng)會為該應(yīng)用創(chuàng)建一個稱為“主線程”的執(zhí)行線程。該線程隨著應(yīng)用創(chuàng)建或消失,是應(yīng)用的核心線程。UI界面的顯示和更新等操作,都是在主線程上進(jìn)行。主線程又稱UI線程,默認(rèn)情況下,所有的操作都是在主線程上執(zhí)行。如果需要執(zhí)行比較耗時的任務(wù)(如下載文件、查詢數(shù)據(jù)庫),可創(chuàng)建其他線程來處理。
如果應(yīng)用的業(yè)務(wù)邏輯比較復(fù)雜,可能需要創(chuàng)建多個線程來執(zhí)行多個任務(wù)。這種情況下,代碼復(fù)雜難以維護(hù),任務(wù)與線程的交互也會更加繁雜。要解決此問題,開發(fā)者可以使用“TaskDispatcher”來分發(fā)不同的任務(wù)。
TaskDispatcher是一個任務(wù)分發(fā)器,它是“能力”分發(fā)任務(wù)的基本接口,隱藏任務(wù)所在線程的實現(xiàn)細(xì)節(jié)。
為保證應(yīng)用有更好的響應(yīng)性,我們需要設(shè)計任務(wù)的優(yōu)先級。在UI線程上運(yùn)行的任務(wù)默認(rèn)以高優(yōu)先級運(yùn)行,如果某個任務(wù)無需等待結(jié)果,則可以用低優(yōu)先級。
線程優(yōu)先級:
① 高優(yōu)先級 HIGH
② 默認(rèn)優(yōu)先級 DEFAULT
③ 低優(yōu)先級 LOW
TaskDispatcher具有多種實現(xiàn),每種實現(xiàn)對應(yīng)不同的任務(wù)分發(fā)器。在分發(fā)任務(wù)時可以指定任務(wù)的優(yōu)先級,由同一個任務(wù)分發(fā)器分發(fā)出的任務(wù)具有相同的優(yōu)先級。
系統(tǒng)提供的任務(wù)分發(fā)器有:
① 全局并發(fā)任務(wù)分發(fā)器 GlobalTaskDispatcher
② 并發(fā)任務(wù)分發(fā)器 ParallelTaskDispatcher
③ 串行任務(wù)分發(fā)器 SerialTaskDispatcher
④ 專有任務(wù)分發(fā)器 SpecTaskDispatcher
3.1,全局并發(fā)任務(wù)分發(fā)器,由Ability執(zhí)行g(shù)etGlobalTaskDispatcher()獲取。適用于任務(wù)之間沒有聯(lián)系的情況。一個應(yīng)用只有一個GlobalTaskDispatcher,它在程序結(jié)束時才被銷毀。
3.2,并發(fā)任務(wù)分發(fā)器,由Ability執(zhí)行createParallelTaskDispatcher()創(chuàng)建并返回。與GlobalTaskDispatcher不同的是,ParallelTaskDispatcher不具有全局唯一性,可以創(chuàng)建多個。開發(fā)者在創(chuàng)建或銷毀dispatcher時,需要持有對應(yīng)的對象引用 。
3.3,串行任務(wù)分發(fā)器,由Ability執(zhí)行createSerialTaskDispatcher()創(chuàng)建并返回。由該分發(fā)器分發(fā)的所有的任務(wù)都是按順序執(zhí)行,但是執(zhí)行這些任務(wù)的線程并不是固定的。如果要執(zhí)行并行任務(wù),應(yīng)使用ParallelTaskDispatcher或者GlobalTaskDispatcher,而不是創(chuàng)建多個SerialTaskDispatcher。如果任務(wù)之間沒有依賴,應(yīng)使用GlobalTaskDispatcher來實現(xiàn)。它的創(chuàng)建和銷毀由開發(fā)者自己管理,開發(fā)者在使用期間需要持有該對象引用。
3.4,專有任務(wù)分發(fā)器,綁定到專有線程上的任務(wù)分發(fā)器。目前已有的專有線程為UI線程,通過UITaskDispatcher進(jìn)行任務(wù)分發(fā)。
UITaskDispatcher:綁定到應(yīng)用主線程的專有任務(wù)分發(fā)器, 由Ability執(zhí)行g(shù)etUITaskDispatcher()創(chuàng)建并返回。 由該分發(fā)器分發(fā)的所有的任務(wù)都是在主線程上按順序執(zhí)行,它在應(yīng)用程序結(jié)束時被銷毀。
華為的鴻蒙系統(tǒng)3.0開始對9款手機(jī)的公測,這其中就包括p50系列的3款手機(jī),mate40系列的5款手機(jī),和一款12.6英寸的matepad pro。這讓咱手里拿著的mate30備受冷落。但我自己心里就更加期待華為的倉頡編程語言。這么屈指一算,倉頡編程語言從4月2號開始內(nèi)測以來已經(jīng)兩個多月了。因此,我預(yù)判,鴻蒙系統(tǒng)3.0會跟倉頡編程語言一起來到咱們的身邊。
那么在準(zhǔn)備迎接鴻蒙系統(tǒng)3.0和倉頡編程語言之前,我這一期幫大家打一個堅實的基礎(chǔ)。我相信許多朋友當(dāng)說起來操作系統(tǒng)或者是編程語言的時候,腦子里其實是有點支離破碎,或者是一頭霧水。我?guī)椭蠹覐囊粋€宏觀的角度去鳥瞰,去把握和理解計算機(jī)科學(xué)體系中的坐標(biāo),讓你獨具一雙慧眼,單單靠著你的直覺就能獲得專業(yè)的視角。計算機(jī)科學(xué)包括六層架構(gòu),操作系統(tǒng)在第四層上,華為倉頡編程語言這樣的應(yīng)用級編程語言則處在第五層上。
咱們先從底部開始,所謂萬丈高樓平地起嘛。咱們來先看基礎(chǔ):信息理論。任何學(xué)科的基礎(chǔ)都是數(shù)學(xué),當(dāng)然計算機(jī)科學(xué)也不例外。這第一層就是關(guān)于數(shù)學(xué)理論的。咱們?nèi)粘S玫氖鞘M(jìn)制,計算機(jī)則是由0和1構(gòu)建起來的是二進(jìn)制。那數(shù)學(xué)也很簡單,就是關(guān)于0和1的加法。比如1加1,在十進(jìn)制中是等于2,而在二進(jìn)制1加1等于10,這就是所有的數(shù)學(xué)基礎(chǔ),也就是這么簡單。
但是還有更加往上抽象的一個層面的基礎(chǔ),就是咱們在高中時候?qū)W習(xí)的“布爾代數(shù)”。看似不起眼的“布爾代數(shù)”研究的是機(jī)器如何思考,如何讓機(jī)器來獲得智能這樣的問題。
布爾在1854年就解決發(fā)表一篇“研究人類的思考規(guī)律”的論文,提出了“布爾代數(shù)”,為機(jī)器如何思考打下了理論基礎(chǔ)。
布爾當(dāng)時的想法很簡單。他認(rèn)為人是理性的,那么人是按照理性邏輯來思考問題的。于是,如果他能把大腦思考問題的邏輯,提煉抽象出來的話,那么是不是就能用這邏輯在大腦之外去思考呢?布爾的這項雄心勃勃的構(gòu)思就是人工智能的雛形。你想呀,如果把這個邏輯提煉出來用在機(jī)器機(jī)械零件上,機(jī)械零件就會開始思考。如果用在電路上,這個電路是不是也就開始思考了呢。布爾代數(shù)咱們就很熟悉了,我就在這里就不帶展開,我前面有一期就專門來講述了這個機(jī)器來如何用布爾代數(shù)來思考,大家感興趣可以看下那一期,我在這不展開浪費(fèi)時間。
再往上第二層就是硬件,布爾他把理論抽象出來,將布爾代數(shù)應(yīng)用到電路上,電路是不是也就能開始思考?哎,到了1938年,香農(nóng)就首次把布爾代數(shù)應(yīng)用到了電路上,于是這個電路就開始思考了。從最早的真空管到半導(dǎo)體晶體管(我前面那一期也專門講過“機(jī)器如何用晶體管來思考”)然后到集成電路,再到現(xiàn)在這個大型的集成電路芯片。我們知道麒麟9000芯片用的Arm架構(gòu)的指令集,指揮CPU工作的指令又叫機(jī)器碼。比如“加法”就是用一串?dāng)?shù)字機(jī)器碼00000011來表示。
然而你會發(fā)現(xiàn),用機(jī)器碼來指揮這個cpu或者電腦工作太麻煩了。一般人哪里能記住像前面的6個0和后面兩個1來表示加減乘除的加呢。
正是困擾于此,科學(xué)家就此提出來編程語言。最早編程語言是匯編語言。比如前面表示加法的機(jī)器碼00000011,匯編語言中將其抽象為add。然而,匯編語言也需要大量的記憶,一個指令一個指令的對應(yīng),也是太機(jī)械了。再往前一步,往上一層抽象就是系統(tǒng)級的編程語言:面向過程的C語言。
一門編程語言所要做的一個主要工作就是在機(jī)器和我們?nèi)祟愃伎贾g建立一座橋梁。我們是人類的思考邏輯,機(jī)器是機(jī)械 式邏輯思考問題。越高級的編程語言越符合我們?nèi)祟惖乃伎歼壿嫞匠跫壍木幊陶Z言則越貼近機(jī)器的邏輯。因此,我們用高級的編程語言比如C語言,將想做的事情表達(dá)出來,它會自動轉(zhuǎn)換成機(jī)器碼。
我喜歡的編程發(fā)展史上的第二大古老的語言:Lisp語言。
就是直接使用我們的抽象思考的語言。比如重復(fù)地來做一件事,重復(fù)說五遍“Hello”這個單詞。Lisp將重復(fù)抽象為dotimes,do是做, times是多次,dotimes反復(fù)多次做。看見沒,編程語言成了我們抽象的思考工具。
當(dāng)然,華為倉頡語言也是在編程語言這里,但不是系統(tǒng)級的編程語言,咱們后面再說
當(dāng)在第二層硬件之上發(fā)展出來高級的編程語言,有了系統(tǒng)級的編程語言比如C語言之后。大家就發(fā)現(xiàn),我需要一個操作系統(tǒng)來處理日常的基本任務(wù),比如文件管理,進(jìn)程管理,內(nèi)存管理,設(shè)備管理和用戶管理等等。于是科學(xué)家著手用編程語言寫操作系統(tǒng)。而事實上C語言在1969年的發(fā)明,也正是為了移植與開發(fā)UNIX操作系統(tǒng)。C語言的設(shè)計者丹尼斯·里奇同時也是Unix操作系統(tǒng)的發(fā)明人。到了1991年Linus用C語言寫了Linux內(nèi)核,也是目前安卓和鴻蒙系統(tǒng)的內(nèi)核。
華為的EROFS超級文件系統(tǒng)并入Linux內(nèi)核之后,無論是Linux還是安卓都打上了20%的華為烙印。
操作系統(tǒng)再往上一層就是我們?nèi)粘5膽?yīng)用。比如聽歌、看視頻等apps就是在操作系統(tǒng)之上。這也好理解,先有了操作系統(tǒng),才有我們的各種應(yīng)用。由此也能理解,為什么像鴻蒙系統(tǒng)3.0如此重要,因為應(yīng)用程序要運(yùn)行在上面。這些應(yīng)用程序就是用華為倉頡編程語言等應(yīng)用級編程語言開發(fā)的。不過,目前咱們手機(jī)上的應(yīng)用程序都是用Java開發(fā)。未來鴻蒙系統(tǒng)將會使用自研的倉頡語言開發(fā)鴻蒙應(yīng)用。
應(yīng)用程序的主要功能之一是溝通和交流。我們用Email發(fā)郵件,用通訊視頻聊天,而Web應(yīng)用技術(shù)構(gòu)建起來當(dāng)前的互聯(lián)網(wǎng)信息大廈。
好了,我們總結(jié)一下。計算機(jī)科學(xué)的六層架構(gòu)。
第1層是信息理論,研究如何在大腦之外實現(xiàn)思考,布爾代數(shù)是人工智能的雛形。第2層是硬件,布爾代數(shù)應(yīng)用到電路上,晶體管開始思考,將數(shù)以億計的晶體管雕刻到集成電路CPU中,CPU的機(jī)器碼指揮計算機(jī)工作。第3層編程語言,從枯燥難記的機(jī)器碼里發(fā)展出來匯編語言,再到系統(tǒng)級的C語言,構(gòu)建起來人類思考與機(jī)器邏輯之間橋梁。第4層操作系統(tǒng),C語言不是憑空而來,是為了開發(fā)Unix操作系統(tǒng)而發(fā)明,而操作系統(tǒng)是計算機(jī)里最大的軟件。第5層應(yīng)用軟件,日常所有的apps都運(yùn)行在操作系統(tǒng)之上。倉頡編程語言是給鴻蒙系統(tǒng)開發(fā)應(yīng)用程序的專屬開發(fā)語言。第六層溝通互聯(lián),就是我們目前的互聯(lián)網(wǎng)技術(shù),在網(wǎng)絡(luò)里看書、聽音樂,點一份外賣等等。
這就是計算機(jī)科學(xué)六層架構(gòu),鴻蒙操作系統(tǒng)與倉頡編程語言各就各位。用架構(gòu)去思考和看問題,不僅能心中有數(shù),還能獨具一雙慧眼。
網(wǎng)站題目:鴻蒙應(yīng)用開發(fā)論文,鴻蒙 應(yīng)用 開發(fā)
標(biāo)題URL:http://chinadenli.net/article36/dsidspg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、建站公司、ChatGPT、品牌網(wǎng)站建設(shè)、、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)