在内存价格持续走高、硬件升级费用不菲的情况下,Windows系统中的不少主流应用程序,其对系统内存的占用量却高得惊人。
问题的核心在于,开发者倾向于采用网页应用(Web Apps),而非原生应用的开发模式。
Windows Latest近期表示,Discord、Teams以及新版WhatsApp这类通信应用是内存占用的主要源头,即便在后台运行时也会消耗大量内存。
令人唏嘘的是,测试证明这些应用的原生版本(如旧版WhatsApp)并不会消耗如此多的内存。
Discord采用Electron框架开发,实际上相当于内置了一个完整的Chromium浏览器。虽然官方声称日常使用时内存占用不到1GB,但在实际使用场景中,内存占用很容易就会攀升到4GB。
公司甚至不得不采取“在内存超过4GB 时自动重启”的权宜之计来回收内存。
WhatsApp的情况更是堪称“悲剧”:旧版的UWP/WinUI客户端既轻巧又流畅,闲置状态下内存占用一般不超过100MB;可新版却改用了WebView2技术,说白了就是直接加载web.whatsapp.com这个网页版内容。
这款应用在未登录状态下就已占用300MB内存,完成聊天同步后内存占用更是轻易攀升至1.2GB,同时还出现界面卡顿、CPU使用率骤升的问题。尽管Meta表示这样做是为了“简化开发流程”,但对用户来说,实际体验到的却是性能的明显下滑。
即便微软自家的Teams在从Electron切换到WebView2之后,其本质依旧是Web应用,闲置状态下内存占用会稳定维持在1GB上下。微软计划在明年通过调整应用架构来改善这一问题,不过其核心部分还是离不开WebView2。
这些应用之所以如此占用内存,是因为它们大多并非真正的“Windows应用”,而是内嵌了Chromium运行环境的浏览器引擎。
无论是Electron、WebView2还是PWA,这类技术方案都要求在应用程序内部运行完整的JavaScript引擎、GPU渲染器、网络堆栈以及安全沙箱。
每次打开一个聊天窗口、服务器或者功能,都好比启动了一个独立的沙盒化进程,使得内存占用量呈现出几何级数的增长趋势。