欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

微信在Github開源Hardcoder

林雅南2年前13瀏覽0評論

微信在Github開源Hardcoder?

1、Hardcoder 的誕生

隨著微信越來越復(fù)雜,性能優(yōu)化變得越來越難做,優(yōu)化所帶來的效果提升也越來越不明顯。所以我們?直在思考,該如何突破這個(gè)優(yōu)化的極限? 直到有一次與廠商的交流我們了解到,部分廠商會(huì)針對微信做一些小改動(dòng),其中比較典型的就是“暴力提頻”。系統(tǒng)在識別到微信啟動(dòng),頁面切換等場景時(shí),會(huì)粗暴地提高 CPU 頻率,從而提升 APP 運(yùn)行的性能。 但由于廠商無法準(zhǔn)確判斷微信場景,暴力提頻效果并不理想;而如果過多地提高 CPU 頻率,又對手機(jī)的功耗有影響。這一方案啟發(fā)了我們,我們何不跳出軟件的范疇,在手機(jī)硬件的層面上挖掘更多的性能優(yōu)化空間呢?于是 Hardcoder 框架應(yīng)運(yùn)而生。

2、Hardcoder 是什么

廠商暴力提頻效果不理想是由于在目前 Android 框架下,手機(jī)沒有辦法準(zhǔn)確獲知 APP 需要資源的時(shí)機(jī)。如果我們需要挖掘手機(jī)硬件層面的性能優(yōu)化,就需要跳過 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,無法直接調(diào)用系統(tǒng)底層硬件資源的問題,讓 Android APP 和系統(tǒng)能實(shí)時(shí)通信。

利用 Hardcoder,APP 能充分調(diào)度系統(tǒng)資源如 CPU 頻率,大小核,GPU 頻率等來提升 APP 性能,系統(tǒng)能夠從 APP 側(cè)獲取更多信息以便更合理提供各項(xiàng)系統(tǒng)資源。同時(shí),對于 Android 缺乏標(biāo)準(zhǔn)接口實(shí)現(xiàn)的功能,APP 和系統(tǒng)間也可以通過該框架實(shí)現(xiàn)機(jī)型適配和功能拓展。

3、Hardcoder 框架通信流程

Hardcoder 框架分為 Server 端和 Client 端。其中 Server 端在廠商系統(tǒng)側(cè)實(shí)現(xiàn),Client 端以 aar 形式合入到 APP中。

APP 在需要資源的時(shí)候,向 Hardcoder 的 Client 端發(fā)出請求。Hardcoder Client 端接收到請求后向 Hardcoder Server 端發(fā)出請求。Server 端接受到請求后會(huì)根據(jù)請求參數(shù)向硬件申請不同的資源,比如調(diào)整 CPU 頻率,把線程綁定到大核運(yùn)行等,實(shí)現(xiàn)了 APP 到系統(tǒng)的通信。 同時(shí)系統(tǒng)也可把當(dāng)前系統(tǒng)的狀態(tài)通過 Hardcoder Client 在 Server 端注冊的接口回調(diào)通知到 Client 端,從而 APP 可以獲取到系統(tǒng)狀態(tài),實(shí)現(xiàn)系統(tǒng)到 APP 的通信。 Hardcoder Client 端與 Server 端采用的是 LocalSocket 的通信方式,由于 Hardcoder 采用 Native 實(shí)現(xiàn),因而在 C 層使用 Linux 的 socket 接口實(shí)現(xiàn)了一套 LocalSocket 機(jī)制作為 Client 端與 Server 端之間的通信方式。Hardcoder 通信框架有以下特點(diǎn):1)系統(tǒng)服務(wù)為 optional,實(shí)現(xiàn)上可以完全支持或者部分支持;2)框架實(shí)現(xiàn)不依賴于特定 Android 系統(tǒng),如 API level 限制;3)APP 的功能和業(yè)務(wù)特性不依賴于該框架。

4、Hardcoder 適用場景和效果

Hardcoder 框架有效提升了微信啟動(dòng)、發(fā)送視頻、小程序啟動(dòng)等重度場景的速度,朋友圈的滑動(dòng)流暢性也明顯提升,平均優(yōu)化效果達(dá) 10%-30%。 此外,由于微信作為主動(dòng)請求方可以在場景資源把控上做得更精細(xì)和準(zhǔn)確,Hardcoder 在性能得到提升的同時(shí)僅增加了 2% 的電量消耗,相當(dāng)于用 2% 的功耗換取平均 20% 的性能提升。 Hardcoder 框架目前已接入 OPPO、vivo、華為、小米、三星、魅族等主流手機(jī)廠商,覆蓋 4.6 億+ 設(shè)備量。

5、Hardcoder 開源

從微信技術(shù)開放共享的理念出發(fā),我們在騰訊內(nèi)部進(jìn)行了 Hardcoder 框架的宣傳和推廣,包括手機(jī) QQ、企業(yè)微信、天天快報(bào)等多個(gè)應(yīng)用團(tuán)隊(duì)接入。其中手機(jī) QQ 接入 Hardcoder 后,在啟動(dòng)、打開聊天界面、發(fā)送圖片等場景的平均優(yōu)化效果達(dá) 10%-50%。 我們現(xiàn)將 Hardcoder 框架開源,讓更多 Android 開發(fā)者享受到 Hardcoder 框架的價(jià)值,解決大家在性能優(yōu)化和機(jī)型適配上的煩惱。 歡迎大家查閱 github 網(wǎng)址:http://github.com/Tencent/Hardcoder.git

微信 java 開源,微信在Github開源Hardcoder