微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

在阅读此文之前,辛苦点击右上角的“关注”,既方便您进行讨论与分享,又能给您带来不一样的参与感,感谢您的支持!

导语:

微信作为一款备受欢迎的社交应用,每天都有数以亿计的用户在使用。然而,鲜为人知的是,在微信的底层存在一个名为Hardcoder的通信框架,它一直默默地影响着我们的使用体验。今天,我们将深入研究这个Hardcoder框架,揭开它的神秘面纱,以及它如何影响微信的性能和电池寿命。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

同时,我们还将教你如何调教Hardcoder,让微信更省电、更流畅。

众所周知,小雷是微信野生产品经理,江湖人称微信挖掘机。无论是微信推出的新功能,还是那些早被用户遗忘的隐藏功能,小雷基本都为小伙伴们详细解析过。当然啦,做功能深挖这件事儿并非徒劳。把微信难以发现的实用功能找出来,用户也能获得更好的使用体验。

之前小雷找出来的隐藏功能都是浮于表面。大多数情况下,只是对某个功能做个体验,并告诉大伙这能搞出什么新玩法。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

而今天小雷打算来点硬货,整点深入的微信隐藏功能解析。这个功能涉及到微信底层,也许不是每个人都愿意折腾。但看完这篇文章,大家也会对微信有更深的了解。

未曾见过的微信Hardcoder框架,它是如何影响微信性能的呢?

微信更新到现在,安装包早已突破200MB,内存占用和性能消耗都在不断提高。除了新功能的加入,更重要的原因是底层代码和框架也在不断增加。而对微信,甚至是系统流畅度影响最大的,还得看这个叫做Hardcoder的通信框架。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

估计大家用了那么多年微信,还是第一次见这玩意儿吧。

So,小雷先和大家聊聊,这个Hardcoder通信框架到底是啥玩意、是用来干嘛的。Hardcoder框架由腾讯开发,并在2019年全面开源。实际上也是在几年前就被应用到微信底层了,只是日常使用中很难被发现。按开源文档的说法嘛,它是为了优化微信性能而诞生的。

其实很好理解,各大手机厂商都对系统有自己的一套性能调度。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

比如MIUI是出了名的调度激进,玩游戏时发热明显,OV则相对保守,限制帧率来控制温度。而厂商对于微信的性能调度也很简单粗暴。系统识别到微信启动或切换页面时,就会瞬间提高CPU频率,从而提高微信的流畅度。在早期微信功能不多的时候,确实可以这么做嗷。但随着微信不断迭代,功能也越来越复杂,小程序、聊天、公众号、相册等都是单独的界面。

腾讯觉得,只靠系统那一套调度,已经不能满足微信对流畅度的需求了。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

于是就有了小雷正在讨论的Hardcoder框架。大家可以看下图,传统的系统调度方案是先由App发出获取性能的需求。这个需求被安卓系统框架接收后,就会给予这个App合适的性能调度。但有了Hardcoder框架后,微信就不用再看系统调度的脸色了,它为所欲为,可以随意调用系统性能资源。

比如从主界面进入聊天界面时,拉高CPU频率,甚至把微信某些线程挪到CPU超大核里面运行,一切都为了让微信用起来更加流畅。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

既然能做到绕过系统调度,Hardcoder肯定也需要手机厂商配合的。喏,就是把服务端放进国内的系统定制UI。再把客户端放进微信里,这样微信就可以绕过系统那套调度,用“私人搭建”的Hardcoder框架来调用CPUGPU的性能资源。说人话就是微信跟国内某些定制ROM搞了合作,让系统给微信开了调度白名单。

目前Hadrcoder框架已经接入了OPPOvivo华为、小米、三星魅族等主流手机厂商。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

不得不说,鹅厂的影响力还是不容小觑。

那么问题来了,Hardcoder对我们,到底是好还是坏呢?以开源文档来看,肯定是好处多多了,既能提高微信各种场景的流畅度,又不会导致功耗大幅提升。官方甚至表示,相当于只用2%的功耗换取平均20%的性能提升,效

率高得离谱。但说实话,大家平时也是24小时挂着微信的用户了。微信流畅是流畅,但到底省不省电,相信各位心里都有数的,只能说中规中矩。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

即使Hardcoder已经专门对不同的机型做调度适配,但总会有适配得不够到位的地方。比如小雷明明用的是旗舰手机,几个中核就可以带起来微信,Hardcoder硬是要把微信放在大核上运行,徒增功耗。Hardcoder虽然可以让微信的流畅度得到保证,但毫无疑问是提升牺牲发热和功耗。

另一方面,Hardcoder框架只能实现微信与系统之间的沟通。它不知道整个手机目前处于啥状态,在某些场景下会导致手机耗电更加严重。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

比如手机电量不足时,基本上都会自动开启省电模式,此时手机CPU会以低功耗模式运行。但由于微信不知道整个系统的情况,它只会不断给系统提要求:“我要打开朋友圈了,给我提频!”“我要发送文件给好友了,再提一下CPU频率!”带来的问题就是省电模式一点都不省电,用户甚至会以为是系统出了问题。

好比小雷的手机CPU还在躺着睡觉,突然被Hardcoder半夜敲门,你说CPU气不气,累不累?

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

骁龙888这种发热严重点的,一生气就得飙到四五十度,这谁顶得住啊。

既然发现了问题,我们就得着手去解决。Hardcoder为每台配置了服务端的机子都进行了统一适配,但默认的配置并不一定适合自己的手机。如果大家想让微信变得更省电流畅,不妨跟着小雷一起调教Hardcoder。

支持的机型列表就放在这儿了,基本覆盖了主流厂商,大伙自己看着来。

首先,我们需要一个App–创建快捷方式。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

毕竟Hardcoder是底层框架,无法直接打开,我们得靠这个App来创建快捷方式使用。在创建快捷方式App里找到微信,进入微信的【活动列表】搜索“hard”,就能看到Hardcoder框架的快捷方式。此时我们点击右上角的【创建】按钮,Hardcoder的快捷方式会在系统桌面上出现。注意喽,如果点击【创建】后没发现桌面有动静,很有可能是没有给【创建快捷方式】权限。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

小雷建议大家在使用前先检查一波权限。

创建好快捷方式后,我们就可以在桌面打开微信Hardcoder框架啦。没有意外,Hardcoder果然是一大串英文,让人看得头痛欲裂。但大家无须担心,凡是能用上的选项,小雷都会帮大家做个注释。

先看顶部部分,第一个选项是Hardcoder的总开关。个人觉得,手机处理器性能不低于骁龙855的机型都可以关掉,让系统调度接管Hardcoder就好。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

而DEBUG_LOG是日志功能,不关闭会经常产生日志,有可能影响系统流畅。如果不是开发者,建议小伙伴们关闭。

OK,继续往下看。开头打勾的是提频的触发条件,而CPU和IO则是提频的幅度。CPU提频有四个等级,分别是0、1、2、3。等级越高说明频率越小,0表示提频幅度最大,3表示提频幅度最小,与我们的认知刚好相反。

至于BindTHR,如果勾选了,微信对应的线程就会优先以大核心运行以提高流畅度。

微信“简洁版”来了,开启后有点刺激啊(微信简洁版有吗)

相关新闻

联系我们
联系我们
公众号
公众号
在线咨询
分享本页
返回顶部