覆蓋4.6億+設備量!微信正式開源Hardcoder框架
近日,微信開源能優化框架Hardcoder,該框架目前已接收OPPO,vivo,華為,小米,三星,魅族等主流手機廠商,覆蓋4.6億+設備量。
如果你是一名Android開發者,想必已經無比好奇Hardcoder到底有什么威力了吧,往下看就知道了
什么是 Hardcoder?
Hardcoder 是微信研發的一款性能優化框架,是一套Android APP與系統間的通信解決方案。
Hardcoder突破了APP只能調用系統標準API,無法直接調用系統而直接利用硬件資源的問題,讓Android突破了APP只能調用系統標準API,無法直接調用系統而直接利用硬件資源的問題,讓Android APP和系統能實時通信。
APP能夠充分調度系統資源如CPU頻率,大小核,GPU頻率等來提升APP性能,系統能夠從APP側獲取更多信息盔甲更合理地提供系統資源。同時,對于Android缺乏標準接口實現的功能,APP和系統也可以通過該框架實現規范適應和功能擴展。
Hardcoder 框架
Hardcoder 框架分為 Server 端和 Client 端。其中 Server 端在廠商系統側實現,Client 端以 aar 形式合入到 APP中。
APP 在需要資源的時候,向 Hardcoder 的 Client 端發出請求。Hardcoder Client 端接收到請求后向 Hardcoder Server 端發出請求。Server 端接受到請求后會根據請求參數向硬件申請不同的資源,比如調整 CPU 頻率,把線程綁定到大核運行等,實現了 APP 到系統的通信。
同時系統也可把當前系統的狀態通過 Hardcoder Client 在 Server 端注冊的接口回調通知到 Client 端,從而 APP 可以獲取到系統狀態,實現系統到 APP 的通信。
Hardcoder Client 端與 Server 端采用的是 LocalSocket 的通信方式,由于 Hardcoder 采用 Native 實現,因而在 C 層使用 Linux 的 socket 接口實現了一套 LocalSocket 機制作為 Client 端與 Server 端之間的通信方式。
Hardcoder 適用場景
Hardcoder 框架有效提升了微信啟動、發送視頻、小程序啟動等重度場景的速度,朋友圈的滑動流暢性也明顯提升,平均優化效果達 10%-30%。
此外,由于微信作為主動請求方可以在場景資源把控上做得更精細和準確,Hardcoder 在性能得到提升的同時僅增加了 2% 的電量消耗,相當于用 2% 的功耗換取平均 20% 的性能提升。
Hardcoder 框架目前已接入 OPPO、vivo、華為、小米、三星、魅族等主流手機廠商,覆蓋 4.6億+ 設備量。
目前,Hardcoder 已經在Github上標星981個,77個Fork(Github地址:https://github.com/Tencent/Hardcoder)