您的位置  文体资讯  体育科技

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

  • 来源:互联网
  • |
  • 2021-08-20
  • |
  • 0 条评论
  • |
  • |
  • T小字 T大字

众所周知,小雷是微信野生产品经理,江湖人称微信挖掘机。

无论是微信推出的新功能,还是那些早被用户遗忘的隐藏功能,小雷基本都为小伙伴们详细解析过。

当然啦,做功能深挖这件事儿并非徒劳。

把微信难以发现的实用功能找出来,用户也能获得更好的使用体验。

之前小雷找出来的隐藏功能都是浮于表面。

大多数情况下,只是对某个功能做个体验,并告诉大伙这能搞出什么新玩法。

而今天小雷打算来点硬货,整点深入的微信隐藏功能解析。

这个功能涉及到微信底层,也许不是每个人都愿意折腾。

但看完这篇文章,大家也会对微信有更深的了解。

未曾见过的微信Hardcoder框架

微信更新到现在,安装包早已突破200MB,内存占用和性能消耗都在不断提高。

除了新功能的加入,更重要的原因是底层代码和框架也在不断增加。

而对微信,甚至是系统流畅度影响最大的,还得看这个叫做Hardcoder的通信框架。

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

So,小雷先和大家聊聊,这个Hardcoder通信框架到底是啥玩意、是用来干嘛的。

Hardcoder框架由腾讯开发,并在2019年全面开源。

实际上也是在几年前就被应用到微信底层了,只是日常使用中很难被发现。

按开源文档的说法嘛,它是为了优化微信性能而诞生的。

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

比如MIUI是出了名的调度激进,玩游戏时发热明显,OV则相对保守,限制帧率来控制温度。

而厂商对于微信的性能调度也很简单粗暴。

系统识别到微信启动或切换页面时,就会瞬间提高CPU频率,从而提高微信的流畅度。

在早期微信功能不多的时候,确实可以这么做嗷。

但随着微信不断迭代,功能也越来越复杂,小程序、聊天、公众号、相册等都是单独的界面。

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

于是就有了小雷正在讨论的Hardcoder框架。

大家可以看下图,传统的系统调度方案是先由App发出获取性能的需求。

这个需求被安卓系统框架接收后,就会给予这个App合适的性能调度。

但有了Hardcoder框架后,微信就不用再看系统调度的脸色了,它为所欲为,可以随意调用系统性能资源。

比如从主界面进入聊天界面时,拉高CPU频率,甚至把微信某些线程挪到CPU超大核里面运行,

一切都为了让微信用起来更加流畅。

既然能做到绕过系统调度,Hardcoder肯定也需要手机厂商配合的。

喏,就是把服务端放进国内的系统定制UI(MIUI、Flyme等)。

再把客户端放进微信里,这样微信就可以绕过系统那套调度。

用“私人搭建”的Hardcoder框架来调用CPU和GPU的性能资源。

说人话就是微信跟国内某些定制ROM搞了合作,让系统给微信开了调度白名单。

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

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

那么问题来了,Hardcoder对我们,到底是好还是坏呢?

以开源文档来看,肯定是好处多多了,既能提高微信各种场景的流畅度,又不会导致功耗大幅提升。

官方甚至表示,相当于只用2%的功耗换取平均20%的性能提升,效率高得离谱。

但说实话,大家平时也是24小时挂着微信的用户了。

微信流畅是流畅,但到底省不省电,相信各位心里都有数的,只能说中规中矩。

即使Hardcoder已经专门对不同的机型做调度适配,但总会有适配得不够到位的地方。

比如小雷明明用的是旗舰手机,几个中核就可以带起来微信,Hardcoder硬是要把微信放在大核上运行,徒增功耗。

Hardcoder虽然可以让微信的流畅度得到保证,但毫无疑问是提升牺牲发热和功耗。

另一方面,Hardcoder框架只能实现微信与系统之间的沟通。

它不知道整个手机目前处于啥状态,在某些场景下会导致手机耗电更加严重。

比如手机电量不足时,基本上都会自动开启省电模式,此时手机CPU会以低功耗模式运行。

但由于微信不知道整个系统的情况,它只会不断给系统提要求:

“我要打开朋友圈了,给我提频!”

“我要发送文件给好友了,再提一下CPU频率!”

“我要打开朋友圈了,给我提频!”

“我要发送文件给好友了,再提一下CPU频率!”

带来的问题就是省电模式一点都不省电,用户甚至会以为是系统出了问题。

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

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

手动调教Hardcoder,还你流畅省电的微信

既然发现了问题,我们就得着手去解决。

Hardcoder为每台配置了服务端的机子都进行了统一适配,但默认的配置并不一定适合自己的手机。

如果大家想让微信变得更省电流畅,不妨跟着小雷一起调教Hardcoder。

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

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

毕竟Hardcoder是底层框架,无法直接打开,我们得靠这个App来创建快捷方式使用。

创建快捷方式App里找到微信,进入微信的【活动列表】搜索“hard”,就能看到Hardcoder框架的快捷方式。

此时我们点击右上角的【创建】按钮,Hardcoder的快捷方式会在系统桌面上出现。

注意喽,如果点击【创建】后没发现桌面有动静,很有可能是没有给【创建快捷方式】权限。

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

创建好快捷方式后,我们就可以在桌面打开微信Hardcoder框架啦。

没有意外,Hardcoder果然是一大串英文,让人看得头痛欲裂。

但大家无须担心,凡是能用上的选项,小雷都会帮大家做个注释。

先看顶部部分,第一个选项是Hardcoder的总开关。

个人觉得,手机处理器性能不低于骁龙855的机型都可以关掉,让系统调度接管Hardcoder就好。

而DEBUG_LOG是日志功能,不关闭会经常产生日志,有可能影响系统流畅。

如果不是开发者,建议小伙伴们关闭。

图源:酷安@hana_shirosaki

OK,继续往下看。

开头打勾的是提频的触发条件,而CPU和IO则是提频的幅度。

CPU提频有四个等级,分别是0、1、2、3。

等级越高说明频率越小,0表示提频幅度最大,3表示提频幅度最小,与我们的认知刚好相反。

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

手握888机型的机友们,要是没特别需求,最好不要勾选Bind THR。

毕竟骁龙888的X1超大核功耗很高,对性能提升还不大,能不用就不用。

图源:酷安@hana_shirosaki

再往下看,就是每个选项对应的微信线程了。

比如小雷勾选了BOOT,微信就会在启动时提高频,加快微信启动。

勾选了SEND_PIC_MSG,微信就会在发送图片时提频,保证发送图片不卡顿。

其实在小雷看来,除了涉及解码/编码的线程,其他线程都可以按需调低提频幅度,甚至彻底关闭提频。

图源:酷安@hana_shirosaki

以上的图像注释都表达得很明确,懂点搞机知识的小伙伴可以自行调教。

要是实在懒得研究,又让手机省电一点,直接把Hardcoder关掉即可。

让系统来接管微信调度,绝对不会出问题(前提是处理器性能够强)

但手机性能实在太弱的,小雷不建议大家自行调整。

毕竟Hardcoder还是能让微信变得更流畅的。

提醒一下小伙伴们,修改前最好截个图,不然你想改回去也没有备份作为参照了。

至于Hardcoder框架是好是坏,小雷作为普通用户不太好评价。

倒是很多开发者对Hardcoder并不看好。

原因很简单,万一Hardcoder被滥用了,后果将十分严重。

当所有App都接入Hardcoder并抢着占用CPU大核线程时,手机将会持续发热,长期处于高负载状态。

虽然它有自己的优势,可以直接根据App的需要进行资源调度,提高App流畅度。

但小雷依然不希望Hardcoder接入到其他App,从目前的安卓生态来看,被滥用的可能性还是挺高的。

一旦被大规模滥用,就算把地表最强A14芯片挪到安卓上,也喂不饱那些流氓App。

图片&资料来源:酷安@hana_shirosaki

《无需Root,合理把控微信的鸡血——微信Hardcoder组件选项调教入门》

长春健身会馆 http://www.xinzhiliao.com/sj/dongji/2412.html
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186