2025-12-11 05:41:04 作者:狼叫兽
在内存价格持续上涨、硬件升级成本居高不下的当下,Windows平台上诸多主流应用程序对系统资源的消耗却愈发惊人,引发广泛关注。
问题的根源在于当前软件开发普遍倾向于采用基于网页技术的应用架构,而非传统意义上的原生应用。越来越多的应用选择以浏览器为核心运行环境,导致即使执行基础功能,也需要占用大量系统资源。
以常见的通信类软件为例,包括Discord、Teams以及新版的WhatsApp在内的多个程序,在后台待机状态下依然维持着极高的内存占用。相比之下,这些应用曾经推出的原生版本表现则截然不同——例如旧版WhatsApp采用UWP/WinUI架构,运行时内存消耗通常不足100MB,响应迅速且系统负担极小。
然而,随着开发模式的转变,这类轻量体验正逐渐消失。目前Discord基于Electron框架构建,其本质是在应用内部嵌入了一个完整的Chromium浏览器实例。官方虽宣称正常使用下内存占用低于1GB,但实际使用中经常突破4GB。为应对此问题,开发团队甚至不得不引入自动重启机制,当内存超过阈值时强制重置进程以回收资源。
更为突出的是WhatsApp的更新变化。新版客户端放弃原有的高效原生架构,转而采用WebView2技术直接加载网页版服务。这意味着用户在尚未登录时,应用便已占用约300MB内存;一旦完成数据同步,内存使用迅速攀升至1.2GB以上,同时伴随明显的界面卡顿和CPU负载上升。尽管开发方表示此举旨在“简化跨平台维护”,但用户体验明显倒退。
即便是由操作系统厂商推出的Teams应用,也未能摆脱这一趋势。虽然微软已将其从Electron迁移至WebView2,但本质上仍属于Web驱动模式。即便处于闲置状态,其内存占用仍长期维持在1GB左右。尽管计划于明年通过重构应用结构来优化性能,但其底层依旧依赖于WebView2,无法从根本上脱离浏览器运行环境的资源开销。
此类应用之所以耗费如此多的系统资源,关键原因在于它们并非真正意义上的本地程序。无论是Electron、WebView2还是渐进式网页应用,均需在进程中集成完整的Java引擎、图形渲染模块、网络协议栈及安全沙箱机制。每启动一个功能模块或会话窗口,往往都会创建独立的隔离进程,这种设计使得内存占用随功能扩展呈指数级增长,最终造成设备资源的严重浪费。