5 月 16 日消息,手機(jī) QQ 于 2023 年 6 月 27 日推出了安卓 8.9.63/iOS 8.9.65 版本,該版本首次搭載了基于 NT 架構(gòu)的全新技術(shù)。2023 年 7 月 3 日,NT 架構(gòu)的 Windows QQ 更是正式上架官方網(wǎng)站,實現(xiàn)了跨平臺三端技術(shù)的整合重塑。騰訊研發(fā)部門何金源近日分享了關(guān)于此次手機(jī) QQ 技術(shù)架構(gòu)升級的詳細(xì)歷程。
早在 2020 年,QQ 開發(fā)團(tuán)隊便啟動了這項重大的架構(gòu)升級工程。面對業(yè)務(wù)復(fù)雜和代碼體積龐大的挑戰(zhàn),他們采取了分階段、漸進(jìn)式的策略來推動架構(gòu)升級。
新的手機(jī) QQ 架構(gòu)將業(yè)務(wù)模塊劃分為獨立單元,通過接口和路由進(jìn)行通信。同時,按照層次結(jié)構(gòu)進(jìn)行設(shè)計,上層模塊可以依賴下層模塊,反之則不行。
由于 QQ 在不同平臺的客戶端各自發(fā)展,代碼復(fù)用率低下,導(dǎo)致開發(fā)和維護(hù)成本居高不下,且多端體驗不一致、端內(nèi)業(yè)務(wù)體驗參差不齊等問題突出。因此,開發(fā)團(tuán)隊決定啟動手機(jī) QQ NT 架構(gòu)升級項目。
為了實現(xiàn)架構(gòu)升級和統(tǒng)一,項目團(tuán)隊首先使用 C++開發(fā)了具備 QQ IM 核心功能的跨平臺內(nèi)核層。其中包括 IM 核心業(yè)務(wù)邏輯、通用組件、線程/網(wǎng)絡(luò)/IO 等通用資源管理模塊及操作系統(tǒng)封裝部分,這些原本由各平臺原生語言實現(xiàn)的內(nèi)容被統(tǒng)一下沉至 C++跨平臺層。
為了降低項目質(zhì)量風(fēng)險,NT 跨平臺內(nèi)核首先在用戶數(shù)量較少、功能補(bǔ)齊需求迫切的桌面端進(jìn)行應(yīng)用,并完全采用新架構(gòu)重寫桌面端。在桌面端完成功能驗證和質(zhì)量測試后,再向移動端遷移,并成功完成了 iOS 和安卓平臺的集成。
在此基礎(chǔ)上,開發(fā)團(tuán)隊對性能進(jìn)行了全面優(yōu)化。以聊天窗口(AIO)為例,通過全新的數(shù)據(jù)流架構(gòu)+數(shù)據(jù)預(yù)加載+UI 邏輯并行化的設(shè)計理念,實現(xiàn)了單向數(shù)據(jù)流驅(qū)動與異步加載渲染,使系統(tǒng)資源能夠全力支持 AIO 消息列表,從而顯著提高了性能表現(xiàn),使得 AIO 內(nèi)查看、跳轉(zhuǎn)、滑動消息等操作更加流暢順滑。其他 QQ 主要場景,如消息列表頁、消息與富媒體收發(fā)、圖片視頻查看等,也都采用了類似的優(yōu)化方法,最終實現(xiàn)了整體性能的大幅提升。
-
C++
+關(guān)注
關(guān)注
22文章
2108瀏覽量
73645 -
資源管理
+關(guān)注
關(guān)注
0文章
22瀏覽量
7872 -
架構(gòu)
+關(guān)注
關(guān)注
1文章
514瀏覽量
25470
發(fā)布評論請先 登錄
相關(guān)推薦
評論