微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔?/h1>
自己動手,讓微信更好用
眾所周知,小雷是微信野生產品經(jīng)理,江湖人稱微信挖掘機。
無論是微信推出的新功能,還是那些早被用戶遺忘的隱藏功能,小雷基本都為小伙伴們詳細解析過。
當然啦,做功能深挖這件事兒并非徒勞。
把微信難以發(fā)現(xiàn)的實用功能找出來,用戶也能獲得更好的使用體驗。
![微信“簡潔版”來了,開啟后有點刺激啊(微信簡潔版有嗎)](http://m.meijinye.com/wp-content/themes/module/themer/assets/images/lazy.png)
之前小雷找出來的隱藏功能都是浮于表面。
大多數(shù)情況下,只是對某個功能做個體驗,并告訴大伙這能搞出什么新玩法。
而今天小雷打算來點硬貨,整點深入的微信隱藏功能解析。
這個功能涉及到微信底層,也許不是每個人都愿意折騰。
但看完這篇文章,大家也會對微信有更深的了解。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
未曾見過的微信Hardcoder框架
微信更新到現(xiàn)在,安裝包早已突破200MB,內存占用和性能消耗都在不斷提高。
除了新功能的加入,更重要的原因是底層代碼和框架也在不斷增加。
而對微信,甚至是系統(tǒng)流暢度影響最大的,還得看這個叫做Hardcoder的通信框架。
估計大家用了那么多年微信,還是第一次見這玩意兒吧。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
So,小雷先和大家聊聊,這個Hardcoder通信框架到底是啥玩意、是用來干嘛的。
Hardcoder框架由騰訊開發(fā),并在2019年全面開源。
實際上也是在幾年前就被應用到微信底層了,只是日常使用中很難被發(fā)現(xiàn)。
按開源文檔的說法嘛,它是為了優(yōu)化微信性能而誕生的。
![微信“簡潔版”來了,開啟后有點刺激啊(微信簡潔版有嗎)](http://m.meijinye.com/wp-content/themes/module/themer/assets/images/lazy.png)
其實很好理解,各大手機廠商都對系統(tǒng)有自己的一套性能調度。
比如MIUI是出了名的調度激進,玩游戲時發(fā)熱明顯,OV則相對保守,限制幀率來控制溫度。
而廠商對于微信的性能調度也很簡單粗暴。
系統(tǒng)識別到微信啟動或切換頁面時,就會瞬間提高CPU頻率,從而提高微信的流暢度。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
在早期微信功能不多的時候,確實可以這么做嗷。
但隨著微信不斷迭代,功能也越來越復雜,小程序、聊天、公眾號、相冊等都是單獨的界面。
騰訊覺得,只靠系統(tǒng)那一套調度,已經(jīng)不能滿足微信對流暢度的需求了。
于是就有了小雷正在討論的Hardcoder框架。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
大家可以看下圖,傳統(tǒng)的系統(tǒng)調度方案是先由App發(fā)出獲取性能的需求。
這個需求被安卓系統(tǒng)框架接收后,就會給予這個App合適的性能調度。
但有了Hardcoder框架后,微信就不用再看系統(tǒng)調度的臉色了,它為所欲為,可以隨意調用系統(tǒng)性能資源。
比如從主界面進入聊天界面時,拉高CPU頻率,甚至把微信某些線程挪到CPU超大核里面運行,
一切都為了讓微信用起來更加流暢。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
既然能做到繞過系統(tǒng)調度,Hardcoder肯定也需要手機廠商配合的。
喏,就是把服務端放進國內的系統(tǒng)定制UI(MIUI、Flyme等)。
再把客戶端放進微信里,這樣微信就可以繞過系統(tǒng)那套調度。
用“私人搭建”的Hardcoder框架來調用CPU和GPU的性能資源。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
說人話就是微信跟國內某些定制ROM搞了合作,讓系統(tǒng)給微信開了調度白名單。
目前Hadrcoder框架已經(jīng)接入了OPPO、vivo、華為、小米、三星和魅族等主流手機廠商。
不得不說,鵝廠的影響力還是不容小覷。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
那么問題來了,Hardcoder對我們,到底是好還是壞呢?
以開源文檔來看,肯定是好處多多了,既能提高微信各種場景的流暢度,又不會導致功耗大幅提升。
官方甚至表示,相當于只用2%的功耗換取平均20%的性能提升,效率高得離譜。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
但說實話,大家平時也是24小時掛著微信的用戶了。
微信流暢是流暢,但到底省不省電,相信各位心里都有數(shù)的,只能說中規(guī)中矩。
即使Hardcoder已經(jīng)專門對不同的機型做調度適配,但總會有適配得不夠到位的地方。
比如小雷明明用的是旗艦手機,幾個中核就可以帶起來微信,Hardcoder硬是要把微信放在大核上運行,徒增功耗。
![微信“簡潔版”來了,開啟后有點刺激啊(微信簡潔版有嗎)](http://m.meijinye.com/wp-content/themes/module/themer/assets/images/lazy.png)
Hardcoder雖然可以讓微信的流暢度得到保證,但毫無疑問是提升犧牲發(fā)熱和功耗。
另一方面,Hardcoder框架只能實現(xiàn)微信與系統(tǒng)之間的溝通。
它不知道整個手機目前處于啥狀態(tài),在某些場景下會導致手機耗電更加嚴重。
比如手機電量不足時,基本上都會自動開啟省電模式,此時手機CPU會以低功耗模式運行。
但由于微信不知道整個系統(tǒng)的情況,它只會不斷給系統(tǒng)提要求:
“我要打開朋友圈了,給我提頻!”
“我要發(fā)送文件給好友了,再提一下CPU頻率!”
帶來的問題就是省電模式一點都不省電,用戶甚至會以為是系統(tǒng)出了問題。
好比小雷的手機CPU還在躺著睡覺,突然被Hardcoder半夜敲門,你說CPU氣不氣,累不累?
像驍龍888這種發(fā)熱嚴重點的,一生氣就得飆到四五十度,這誰頂?shù)米“ ?/span>
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
手動調教Hardcoder,還你流暢省電的微信
既然發(fā)現(xiàn)了問題,我們就得著手去解決。
Hardcoder為每臺配置了服務端的機子都進行了統(tǒng)一適配,但默認的配置并不一定適合自己的手機。
如果大家想讓微信變得更省電流暢,不妨跟著小雷一起調教Hardcoder。
支持的機型列表就放在這兒了,基本覆蓋了主流廠商,大伙自己看著來。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
首先,我們需要一個App — 創(chuàng)建快捷方式。
畢竟Hardcoder是底層框架,無法直接打開,我們得靠這個App來創(chuàng)建快捷方式使用。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
在創(chuàng)建快捷方式App里找到微信,進入微信的【活動列表】搜索“hard”,就能看到Hardcoder框架的快捷方式。
此時我們點擊右上角的【創(chuàng)建】按鈕,Hardcoder的快捷方式會在系統(tǒng)桌面上出現(xiàn)。
![微信“簡潔版”來了,開啟后有點刺激啊(微信簡潔版有嗎)](http://m.meijinye.com/wp-content/themes/module/themer/assets/images/lazy.png)
注意嘍,如果點擊【創(chuàng)建】后沒發(fā)現(xiàn)桌面有動靜,很有可能是沒有給【創(chuàng)建快捷方式】權限。
小雷建議大家在使用前先檢查一波權限。
![微信“簡潔版”來了,開啟后有點刺激啊(微信簡潔版有嗎)](http://m.meijinye.com/wp-content/themes/module/themer/assets/images/lazy.png)
創(chuàng)建好快捷方式后,我們就可以在桌面打開微信Hardcoder框架啦。
沒有意外,Hardcoder果然是一大串英文,讓人看得頭痛欲裂。
但大家無須擔心,凡是能用上的選項,小雷都會幫大家做個注釋。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
先看頂部部分,第一個選項是Hardcoder的總開關。
個人覺得,手機處理器性能不低于驍龍855的機型都可以關掉,讓系統(tǒng)調度接管Hardcoder就好。
而DEBUG_LOG是日志功能,不關閉會經(jīng)常產生日志,有可能影響系統(tǒng)流暢。
如果不是開發(fā)者,建議小伙伴們關閉。
![微信“簡潔版”來了,開啟后有點刺激啊(微信簡潔版有嗎)](http://m.meijinye.com/wp-content/themes/module/themer/assets/images/lazy.png)
圖源:酷安@hana_shirosaki
OK,繼續(xù)往下看。
開頭打勾的是提頻的觸發(fā)條件,而CPU和IO則是提頻的幅度。
CPU提頻有四個等級,分別是0、1、2、3。
等級越高說明頻率越小,0表示提頻幅度最大,3表示提頻幅度最小,與我們的認知剛好相反。
至于Bind THR,如果勾選了,微信對應的線程就會優(yōu)先以大核心運行以提高流暢度。
手握888機型的機友們,要是沒特別需求,最好不要勾選Bind THR。
畢竟驍龍888的X1超大核功耗很高,對性能提升還不大,能不用就不用。
![微信“簡潔版”來了,開啟后有點刺激啊(微信簡潔版有嗎)](http://m.meijinye.com/wp-content/themes/module/themer/assets/images/lazy.png)
圖源:酷安@hana_shirosaki
再往下看,就是每個選項對應的微信線程了。
比如小雷勾選了BOOT,微信就會在啟動時提高頻,加快微信啟動。
勾選了SEND_PIC_MSG,微信就會在發(fā)送圖片時提頻,保證發(fā)送圖片不卡頓。
其實在小雷看來,除了涉及解碼/編碼的線程,其他線程都可以按需調低提頻幅度,甚至徹底關閉提頻。
![微信“簡潔版”來了,開啟后有點刺激啊(微信簡潔版有嗎)](http://m.meijinye.com/wp-content/themes/module/themer/assets/images/lazy.png)
圖源:酷安@hana_shirosaki
以上的圖像注釋都表達得很明確,懂點搞機知識的小伙伴可以自行調教。
要是實在懶得研究,又讓手機省電一點,直接把Hardcoder關掉即可。
讓系統(tǒng)來接管微信調度,絕對不會出問題(前提是處理器性能夠強)
但手機性能實在太弱了,小雷不建議大家自行調整。
畢竟Hardcoder還是能讓微信變得更流暢的。
![微信“簡潔版”來了,開啟后有點刺激啊(微信簡潔版有嗎)](http://m.meijinye.com/wp-content/themes/module/themer/assets/images/lazy.png)
提醒一下小伙伴們,修改前最好截個圖,不然你想改回去也沒有備份作為參照了。
至于Hardcoder框架是好是壞,小雷作為普通用戶不太好評價。
倒是很多開發(fā)者對Hardcoder并不看好。
原因很簡單,萬一Hardcoder被濫用了,后果將十分嚴重。
當所有App都接入Hardcoder并搶著占用CPU大核線程時,手機將會持續(xù)發(fā)熱,長期處于高負載狀態(tài)。
![微信“簡潔版”來了,開啟后有點刺激?。ㄎ⑿藕啙嵃嬗袉幔? src=]()
雖然它有自己的優(yōu)勢,可以直接根據(jù)App的需要進行資源調度,提高App流暢度。
但小雷依然不希望Hardcoder接入到其他App,從目前的安卓生態(tài)來看,被濫用的可能性還是挺高的。
一旦被大規(guī)模濫用,就算把地表最強A14芯片挪到安卓上,也喂不飽那些流氓App。
圖片&資料來源:酷安@hana_shirosaki
《無需Root,合理把控微信的雞血——微信Hardcoder組件選項調教入門》
來源:雷科技
本文圖片來自:123RF 正版圖庫
相關新聞
自己動手,讓微信更好用
眾所周知,小雷是微信野生產品經(jīng)理,江湖人稱微信挖掘機。
無論是微信推出的新功能,還是那些早被用戶遺忘的隱藏功能,小雷基本都為小伙伴們詳細解析過。
當然啦,做功能深挖這件事兒并非徒勞。
把微信難以發(fā)現(xiàn)的實用功能找出來,用戶也能獲得更好的使用體驗。
之前小雷找出來的隱藏功能都是浮于表面。
大多數(shù)情況下,只是對某個功能做個體驗,并告訴大伙這能搞出什么新玩法。
而今天小雷打算來點硬貨,整點深入的微信隱藏功能解析。
這個功能涉及到微信底層,也許不是每個人都愿意折騰。
但看完這篇文章,大家也會對微信有更深的了解。
未曾見過的微信Hardcoder框架
微信更新到現(xiàn)在,安裝包早已突破200MB,內存占用和性能消耗都在不斷提高。
除了新功能的加入,更重要的原因是底層代碼和框架也在不斷增加。
而對微信,甚至是系統(tǒng)流暢度影響最大的,還得看這個叫做Hardcoder的通信框架。
估計大家用了那么多年微信,還是第一次見這玩意兒吧。
So,小雷先和大家聊聊,這個Hardcoder通信框架到底是啥玩意、是用來干嘛的。
Hardcoder框架由騰訊開發(fā),并在2019年全面開源。
實際上也是在幾年前就被應用到微信底層了,只是日常使用中很難被發(fā)現(xiàn)。
按開源文檔的說法嘛,它是為了優(yōu)化微信性能而誕生的。
其實很好理解,各大手機廠商都對系統(tǒng)有自己的一套性能調度。
比如MIUI是出了名的調度激進,玩游戲時發(fā)熱明顯,OV則相對保守,限制幀率來控制溫度。
而廠商對于微信的性能調度也很簡單粗暴。
系統(tǒng)識別到微信啟動或切換頁面時,就會瞬間提高CPU頻率,從而提高微信的流暢度。
在早期微信功能不多的時候,確實可以這么做嗷。
但隨著微信不斷迭代,功能也越來越復雜,小程序、聊天、公眾號、相冊等都是單獨的界面。
騰訊覺得,只靠系統(tǒng)那一套調度,已經(jīng)不能滿足微信對流暢度的需求了。
于是就有了小雷正在討論的Hardcoder框架。
大家可以看下圖,傳統(tǒng)的系統(tǒng)調度方案是先由App發(fā)出獲取性能的需求。
這個需求被安卓系統(tǒng)框架接收后,就會給予這個App合適的性能調度。
但有了Hardcoder框架后,微信就不用再看系統(tǒng)調度的臉色了,它為所欲為,可以隨意調用系統(tǒng)性能資源。
比如從主界面進入聊天界面時,拉高CPU頻率,甚至把微信某些線程挪到CPU超大核里面運行,
一切都為了讓微信用起來更加流暢。
既然能做到繞過系統(tǒng)調度,Hardcoder肯定也需要手機廠商配合的。
喏,就是把服務端放進國內的系統(tǒng)定制UI(MIUI、Flyme等)。
再把客戶端放進微信里,這樣微信就可以繞過系統(tǒng)那套調度。
用“私人搭建”的Hardcoder框架來調用CPU和GPU的性能資源。
說人話就是微信跟國內某些定制ROM搞了合作,讓系統(tǒng)給微信開了調度白名單。
目前Hadrcoder框架已經(jīng)接入了OPPO、vivo、華為、小米、三星和魅族等主流手機廠商。
不得不說,鵝廠的影響力還是不容小覷。
那么問題來了,Hardcoder對我們,到底是好還是壞呢?
以開源文檔來看,肯定是好處多多了,既能提高微信各種場景的流暢度,又不會導致功耗大幅提升。
官方甚至表示,相當于只用2%的功耗換取平均20%的性能提升,效率高得離譜。
但說實話,大家平時也是24小時掛著微信的用戶了。
微信流暢是流暢,但到底省不省電,相信各位心里都有數(shù)的,只能說中規(guī)中矩。
即使Hardcoder已經(jīng)專門對不同的機型做調度適配,但總會有適配得不夠到位的地方。
比如小雷明明用的是旗艦手機,幾個中核就可以帶起來微信,Hardcoder硬是要把微信放在大核上運行,徒增功耗。
Hardcoder雖然可以讓微信的流暢度得到保證,但毫無疑問是提升犧牲發(fā)熱和功耗。
另一方面,Hardcoder框架只能實現(xiàn)微信與系統(tǒng)之間的溝通。
它不知道整個手機目前處于啥狀態(tài),在某些場景下會導致手機耗電更加嚴重。
比如手機電量不足時,基本上都會自動開啟省電模式,此時手機CPU會以低功耗模式運行。
但由于微信不知道整個系統(tǒng)的情況,它只會不斷給系統(tǒng)提要求:
“我要打開朋友圈了,給我提頻!”
“我要發(fā)送文件給好友了,再提一下CPU頻率!”
帶來的問題就是省電模式一點都不省電,用戶甚至會以為是系統(tǒng)出了問題。
好比小雷的手機CPU還在躺著睡覺,突然被Hardcoder半夜敲門,你說CPU氣不氣,累不累?
像驍龍888這種發(fā)熱嚴重點的,一生氣就得飆到四五十度,這誰頂?shù)米“ ?/span>
手動調教Hardcoder,還你流暢省電的微信
既然發(fā)現(xiàn)了問題,我們就得著手去解決。
Hardcoder為每臺配置了服務端的機子都進行了統(tǒng)一適配,但默認的配置并不一定適合自己的手機。
如果大家想讓微信變得更省電流暢,不妨跟著小雷一起調教Hardcoder。
支持的機型列表就放在這兒了,基本覆蓋了主流廠商,大伙自己看著來。
首先,我們需要一個App — 創(chuàng)建快捷方式。
畢竟Hardcoder是底層框架,無法直接打開,我們得靠這個App來創(chuàng)建快捷方式使用。
在創(chuàng)建快捷方式App里找到微信,進入微信的【活動列表】搜索“hard”,就能看到Hardcoder框架的快捷方式。
此時我們點擊右上角的【創(chuàng)建】按鈕,Hardcoder的快捷方式會在系統(tǒng)桌面上出現(xiàn)。
注意嘍,如果點擊【創(chuàng)建】后沒發(fā)現(xiàn)桌面有動靜,很有可能是沒有給【創(chuàng)建快捷方式】權限。
小雷建議大家在使用前先檢查一波權限。
創(chuàng)建好快捷方式后,我們就可以在桌面打開微信Hardcoder框架啦。
沒有意外,Hardcoder果然是一大串英文,讓人看得頭痛欲裂。
但大家無須擔心,凡是能用上的選項,小雷都會幫大家做個注釋。
先看頂部部分,第一個選項是Hardcoder的總開關。
個人覺得,手機處理器性能不低于驍龍855的機型都可以關掉,讓系統(tǒng)調度接管Hardcoder就好。
而DEBUG_LOG是日志功能,不關閉會經(jīng)常產生日志,有可能影響系統(tǒng)流暢。
如果不是開發(fā)者,建議小伙伴們關閉。
圖源:酷安@hana_shirosaki
OK,繼續(xù)往下看。
開頭打勾的是提頻的觸發(fā)條件,而CPU和IO則是提頻的幅度。
CPU提頻有四個等級,分別是0、1、2、3。
等級越高說明頻率越小,0表示提頻幅度最大,3表示提頻幅度最小,與我們的認知剛好相反。
至于Bind THR,如果勾選了,微信對應的線程就會優(yōu)先以大核心運行以提高流暢度。
手握888機型的機友們,要是沒特別需求,最好不要勾選Bind THR。
畢竟驍龍888的X1超大核功耗很高,對性能提升還不大,能不用就不用。
圖源:酷安@hana_shirosaki
再往下看,就是每個選項對應的微信線程了。
比如小雷勾選了BOOT,微信就會在啟動時提高頻,加快微信啟動。
勾選了SEND_PIC_MSG,微信就會在發(fā)送圖片時提頻,保證發(fā)送圖片不卡頓。
其實在小雷看來,除了涉及解碼/編碼的線程,其他線程都可以按需調低提頻幅度,甚至徹底關閉提頻。
圖源:酷安@hana_shirosaki
以上的圖像注釋都表達得很明確,懂點搞機知識的小伙伴可以自行調教。
要是實在懶得研究,又讓手機省電一點,直接把Hardcoder關掉即可。
讓系統(tǒng)來接管微信調度,絕對不會出問題(前提是處理器性能夠強)
但手機性能實在太弱了,小雷不建議大家自行調整。
畢竟Hardcoder還是能讓微信變得更流暢的。
提醒一下小伙伴們,修改前最好截個圖,不然你想改回去也沒有備份作為參照了。
至于Hardcoder框架是好是壞,小雷作為普通用戶不太好評價。
倒是很多開發(fā)者對Hardcoder并不看好。
原因很簡單,萬一Hardcoder被濫用了,后果將十分嚴重。
當所有App都接入Hardcoder并搶著占用CPU大核線程時,手機將會持續(xù)發(fā)熱,長期處于高負載狀態(tài)。
雖然它有自己的優(yōu)勢,可以直接根據(jù)App的需要進行資源調度,提高App流暢度。
但小雷依然不希望Hardcoder接入到其他App,從目前的安卓生態(tài)來看,被濫用的可能性還是挺高的。
一旦被大規(guī)模濫用,就算把地表最強A14芯片挪到安卓上,也喂不飽那些流氓App。
圖片&資料來源:酷安@hana_shirosaki
《無需Root,合理把控微信的雞血——微信Hardcoder組件選項調教入門》
來源:雷科技
本文圖片來自:123RF 正版圖庫