内存狂飙揭秘:微软Windows应用内存占用解析新策略
内存消耗之谜:Windows应用为何如此“吃”内存? 在当前内存价格不断攀升、硬件升级成本高昂的背景下,Windows上的许多主流应用程序对系统内存的占用,却达到了惊人的程度。这究竟是什么原因导致的呢? 开发模式成关键 问题的核心在于,开发者倾向于采用网页应用(Web Apps),而非原生应用的开发模式。Windows Latest日前指出,像Discord、Teams和新版WhatsApp等通信类应用是占用内存的主要元凶,即使在后台运行也消耗巨大。 原生版本与Web版本对比 令人唏嘘的是,测试证明这些应用的原生版本(如旧版WhatsApp)并不会消耗如此多的内存。其中Discord基于Electron框架构建,本质上是内嵌了一个完整的Chromium浏览器,其宣称正常使用占用低于1GB,但在实际环境中可轻松飙升至4GB。 应用内存消耗背后的真相 而WhatsApp更是一场“悲剧”,旧版UWP/WinUI客户端轻巧快速,闲置时通常只占用不到100MB内存,新版则使用了WebView2,本质上是加载了web.whatsapp.com。该应用在登录前就占用300MB内存,同步聊天后轻松跳到1.2GB,且伴随界面卡顿和CPU使用率飙升,Meta称此举是为了“简化开发”,但对用户而言却是性能的直线下降。 微软自家的Teams也未能幸免 即使是微软自家的Teams,从Electron转向WebView2后,本质上仍是Web应用,闲置时内存占用常驻1GB左右。微软明年试图通过重组应用结构来缓解问题,但核心仍依赖于WebView2。 内嵌浏览器引擎是罪魁祸首 这些应用如此耗费内存原因在于它们几乎都不是真正的“Windows应用”,而是内嵌了Chromium运行环境的浏览器引擎。无论是Electron、WebView2还是PWA,都需要在应用内部运行完整的JavaScript引擎、GPU渲染器、网络堆栈和安全沙箱。 每次开启一个聊天窗口都相当于开启了一个独立的沙盒化进程 每次开启一个聊天窗口、服务器或功能,都相当于开启了一个独立的沙盒化进程,导致内存使用呈几何级数增长。

