12月8日消息,內(nèi)存內(nèi)存在內(nèi)存價(jià)格不斷飆升、價(jià)格硬件升級成本高昂的飆升包括背景下,Windows上的應(yīng)用許多主流應(yīng)用程序?qū)ο到y(tǒng)內(nèi)存的占用,卻達(dá)到了驚人的瘋狂程度。
問題的占用自己核心在于,開發(fā)者傾向于采用網(wǎng)頁應(yīng)用(Web Apps),微軟而非原生應(yīng)用的內(nèi)存內(nèi)存開發(fā)模式。
Windows Latest日前指出,價(jià)格像Discord、飆升包括Teams和新版WhatsApp等通信類應(yīng)用是應(yīng)用占用內(nèi)存的主要元兇,即使在后臺(tái)運(yùn)行也消耗巨大。瘋狂
令人唏噓的占用自己是,測試證明這些應(yīng)用的微軟原生版本(如舊版WhatsApp)并不會(huì)消耗如此多的內(nèi)存。
其中Discord基于Electron框架構(gòu)建,內(nèi)存內(nèi)存本質(zhì)上是內(nèi)嵌了一個(gè)完整的Chromium瀏覽器,其宣稱正常使用占用低于1GB,但在實(shí)際環(huán)境中可輕松飆升至4GB。
公司甚至不得不采取“在內(nèi)存超過4GB 時(shí)自動(dòng)重啟”的權(quán)宜之計(jì)來回收內(nèi)存。
而WhatsApp更是一場“悲劇”,舊版UWP/WinUI客戶端輕巧快速,閑置時(shí)通常只占用不到100MB內(nèi)存,新版則使用了WebView2,本質(zhì)上是加載了web.whatsapp.com。
該應(yīng)用在登錄前就占用300MB內(nèi)存,同步聊天后輕松跳到1.2GB,且伴隨界面卡頓和CPU使用率飆升,Meta稱此舉是為了“簡化開發(fā)”,但對用戶而言卻是性能的直線下降。
即使是微軟自家的Teams,從Electron轉(zhuǎn)向WebView2后,本質(zhì)上仍是Web應(yīng)用,閑置時(shí)內(nèi)存占用常駐1GB左右。微軟明年試圖通過重組應(yīng)用結(jié)構(gòu)來緩解問題,但核心仍依賴于WebView2。
這些應(yīng)用如此耗費(fèi)內(nèi)存原因在于它們幾乎都不是真正的“Windows應(yīng)用”,而是內(nèi)嵌了Chromium運(yùn)行環(huán)境的瀏覽器引擎。
無論是Electron、WebView2還是PWA,都需要在應(yīng)用內(nèi)部運(yùn)行完整的JavaScript引擎、GPU渲染器、網(wǎng)絡(luò)堆棧和安全沙箱。
每次開啟一個(gè)聊天窗口、服務(wù)器或功能,都相當(dāng)于開啟了一個(gè)獨(dú)立的沙盒化進(jìn)程,導(dǎo)致內(nèi)存使用呈幾何級數(shù)增長。