近日,微信开源能优化框架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)