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