【ITBEAR科技資訊】8月7日消息,近期,騰訊QQ桌面客戶端進(jìn)行了一系列的大刀闊斧的改革。針對用戶關(guān)于高內(nèi)存占用、超大安裝包、啟動緩慢等問題,QQ技術(shù)團(tuán)隊(duì)在內(nèi)存上進(jìn)行了專項(xiàng)優(yōu)化,取得了階段性進(jìn)展。
據(jù)了解,新版QQ在內(nèi)存上面臨著幾個主要的挑戰(zhàn)。首先,產(chǎn)品形態(tài)較復(fù)雜,由一個大面板和多個獨(dú)立功能窗口構(gòu)成,窗口與渲染進(jìn)程一一對應(yīng),窗口進(jìn)程數(shù)量對Electron的內(nèi)存占用產(chǎn)生影響。若不能對這一復(fù)雜大面板進(jìn)行精細(xì)控制,很容易導(dǎo)致內(nèi)存持續(xù)增加。其次,用戶習(xí)慣長時間掛機(jī),相比于Web頁面,QQ用戶可能會掛機(jī)一個月以上,因此需要控制好內(nèi)存使用,避免內(nèi)存持續(xù)增長導(dǎo)致性能劣化。另外,版本迭代速度較快,QQ擁有眾多功能和特性,不斷迭代可能產(chǎn)生新問題,影響性能。最后,新版QQ依賴一個NT核心數(shù)據(jù)模塊(C++ addon),為UI提供本地化數(shù)據(jù)服務(wù),在加載體驗(yàn)上發(fā)揮關(guān)鍵作用,但與NT的聯(lián)動優(yōu)化也需要溝通成本。
為解決上述問題,QQ技術(shù)團(tuán)隊(duì)采取了一系列的工作方向。首先,通過使用不同維度的內(nèi)存分析工具,從V8引擎到進(jìn)程,再到整個應(yīng)用程序,打通整個鏈路進(jìn)行多角度的細(xì)節(jié)分析,以定位內(nèi)存使用的瓶頸。其次,團(tuán)隊(duì)采取針對性的優(yōu)化策略,包括緩存策略、按需加載和優(yōu)雅降級等,以提升性能。在本地或小范圍驗(yàn)證通過之后,團(tuán)隊(duì)還需要廣大用戶的驗(yàn)證,來確認(rèn)優(yōu)化措施是否適用于所有場景。為保護(hù)優(yōu)化成果,預(yù)防性能退化,團(tuán)隊(duì)會借助開發(fā)框架、工具建設(shè)和代碼審查等手段。
據(jù)ITBEAR科技資訊了解,經(jīng)過一系列優(yōu)化后,新版QQ基本可以將核心聊天場景的內(nèi)存控制在300M以內(nèi),安裝包大小為150M,與舊版純Native QQ差別較小。除了內(nèi)存占用,其他核心體驗(yàn),如切換AIO的流暢度,也優(yōu)于舊版QQ。騰訊已推出了Windows QQ 9.9.1和Mac QQ 6.9.18版本更新,帶來多項(xiàng)優(yōu)化和改進(jìn),未來還將繼續(xù)提升性能,為用戶帶來更好的使用體驗(yàn)。