當(dāng)前Windows操作系統(tǒng)中的多個主流應(yīng)用程序普遍存在內(nèi)存消耗過大的現(xiàn)象,這一情況在內(nèi)存價格持續(xù)上漲的背景下尤為顯著。問題的根源在于開發(fā)者傾向于選擇網(wǎng)頁應(yīng)用(Web Apps)開發(fā)模式而非原生應(yīng)用架構(gòu)。

這些通信類應(yīng)用成為消耗內(nèi)存的主要來源,即使處于后臺運行狀態(tài)也會產(chǎn)生大量資源占用。通過實際測試發(fā)現(xiàn),這些應(yīng)用的原生版本并不會出現(xiàn)如此嚴重的資源消耗問題。
其中Discord采用Electron框架構(gòu)建,本質(zhì)上是嵌入了完整的Chromium瀏覽器內(nèi)核。雖然官方宣稱其正常使用時占用的內(nèi)存資源通常低于1GB,但在現(xiàn)實使用環(huán)境中卻很容易增加到4GB的驚人水平。開發(fā)公司甚至不得不采用"在內(nèi)存超過4GB時自動重啟"的臨時方案來回收內(nèi)存資源。
而WhatsApp的情況則更為嚴重,舊版UWP/WinUI客戶端運行輕量快速,在閑置狀態(tài)下通常僅占用不到100MB內(nèi)存。新版客戶端改用了WebView2技術(shù),但本質(zhì)上仍是加載了web.whatsapp.com網(wǎng)頁內(nèi)容。該應(yīng)用在用戶登錄前就會占用約300MB內(nèi)存,完成聊天記錄同步后更會迅速增長到1.2GB,同時伴隨著界面操作延遲和中央處理器使用率急劇上升的問題。
即使是微軟公司自主開發(fā)的Teams應(yīng)用,在從Electron轉(zhuǎn)向WebView2后,其本質(zhì)上仍然屬于網(wǎng)頁應(yīng)用范疇。在閑置狀態(tài)下,該應(yīng)用的內(nèi)存占用量通常會穩(wěn)定在1GB左右。公司方面表示明年計劃通過重構(gòu)應(yīng)用架構(gòu)來解決這一問題,但核心技術(shù)仍然依賴于WebView2架構(gòu)。
造成這些應(yīng)用程序大量消耗內(nèi)存的根本原因在于它們幾乎都不是真正的Windows本地應(yīng)用,而是嵌入了Chromium運行環(huán)境的瀏覽器引擎。
無論是采用Electron、WebView2還是漸進式網(wǎng)頁應(yīng)用(PWA),都需要在應(yīng)用內(nèi)部運行完整的JavaScript執(zhí)行引擎、圖形處理單元渲染器、網(wǎng)絡(luò)協(xié)議棧以及安全保障框架等完整組件3。
每當(dāng)用戶開啟一個聊天窗口、連接到服務(wù)器或使用特定功能,都相當(dāng)于啟動了一個獨立運行的沙盒化進程,這直接導(dǎo)致了內(nèi)存使用量的幾何級數(shù)增長。





























浙公網(wǎng)安備 33010502007447號