謝謝邀請(qǐng),對(duì)于這個(gè)問題我其實(shí)也了解不多,自己也順便學(xué)習(xí)了下,現(xiàn)整理下網(wǎng)上資料,僅供參考。
首先我們來(lái)了解下Github和Hardcoder這2個(gè)單詞。
第一先了解Github,我們首先要知道Git,Git是管理代碼的工具,Git的核心思想是『分布式』,我們?cè)诜?wù)器上面有一個(gè)【主倉(cāng)庫(kù)】,這里放的是拿得出臺(tái)面的代碼,我們也可以在自己的電腦上創(chuàng)建分支,這些分支由【主倉(cāng)庫(kù)】克隆而來(lái),然后我們就可以愉快的在自己的電腦上寫代碼了,寫完代碼可以同步在自己電腦的分支里面,當(dāng)你覺得自己的代碼拿得出臺(tái)面,我們可以申請(qǐng)把自己的代碼更新到主倉(cāng)庫(kù)里面,一旦通過(guò)這樣的審核,我們就對(duì)【主倉(cāng)庫(kù)】做了某種貢獻(xiàn),世界各地的杰出程序員不斷的為一個(gè)項(xiàng)目的【主倉(cāng)庫(kù)】做貢獻(xiàn),讓這個(gè)項(xiàng)目變得越來(lái)越完善。Github是運(yùn)用Git思想來(lái)工作的一個(gè)商業(yè)網(wǎng)站,所有開發(fā)者都可以在Github上面為自己的項(xiàng)目創(chuàng)建一個(gè)【主倉(cāng)庫(kù)】,好的項(xiàng)目就像狼群中的小鮮肉一樣,大量的開發(fā)者會(huì)把這個(gè)主倉(cāng)庫(kù)中的代碼克隆到自己的【分倉(cāng)庫(kù)】去,用更性感的話來(lái)說(shuō),就是【Fork(復(fù)刻、派生或者分支)】。
第二了解下Hardcoder,Hardcoder是微信研發(fā)的一款性能優(yōu)化框架。手機(jī)沒有辦法準(zhǔn)確獲知APP需要資源的時(shí)機(jī)。如果我們需要挖掘手機(jī)硬件層面的性能優(yōu)化,就需要跳過(guò)Android操作系統(tǒng)的應(yīng)用框架,在應(yīng)用開發(fā)者和硬件之間打開一個(gè)通道,讓硬件可以直接根據(jù)應(yīng)用開發(fā)者的需要進(jìn)行資源的調(diào)度。而Hardcoder則構(gòu)建了APP與系統(tǒng)(ROM)之間可靠的通信框架,突破了APP只能調(diào)用系統(tǒng)標(biāo)準(zhǔn)API,無(wú)法直接調(diào)用系統(tǒng)底層硬件資源的問題,讓AndroidAPP和系統(tǒng)能實(shí)時(shí)通信。
利用Hardcoder,APP能充分調(diào)度系統(tǒng)資源如CPU頻率,大小核,GPU頻率等來(lái)提升APP性能,系統(tǒng)能夠從APP側(cè)獲取更多信息以便更合理提供各項(xiàng)系統(tǒng)資源。同時(shí),對(duì)于Android缺乏標(biāo)準(zhǔn)接口實(shí)現(xiàn)的功能,APP和系統(tǒng)間也可以通過(guò)該框架實(shí)現(xiàn)機(jī)型適配和功能拓展。
那么微信在Github開源Hardcoder,對(duì)安卓會(huì)有什么影響?任何項(xiàng)目,在Github上面獲得fork或star,都意味著其它工程師(幾乎涵蓋了這個(gè)世界上最優(yōu)秀的開發(fā)者)對(duì)這個(gè)項(xiàng)目的認(rèn)可。開源是一種精神,閉源意味著封閉,而開源則意味著開放,封閉很難進(jìn)步,開放才會(huì)進(jìn)步。開放讓人類的智慧有聚集的可能,人類的智慧聚集起來(lái)不再是1+1=2,這是開源的力量。將Hardcoder框架開源,讓更多Android開發(fā)者享受到Hardcoder框架的價(jià)值,可以解決大家在性能優(yōu)化和機(jī)型適配上的煩惱。
希望我的回答可以幫助到你。