Notebookcheck 的测试发现,Windows 11 内置的天气应用竟占用了超过 1GB 的内存,这一数据经过多次确认。要知道,这不是 100MB 也不是 500MB,而是整整 1 个 G,对于一个仅用于显示天气的应用来说,这样的内存占用过于离谱。
问题的根源在于 WebView2。微软的天气 App 本质上是嵌在 Edge WebView 里的网页,并非传统意义上的应用,只是外面套了一层 Windows 的壳。WebView2 加载了完整的 Edge 渲染引擎,包括 JavaScript 引擎、CSS 解析器、合成器等,在此基础上运行天气网页,再加上动画效果、实时数据更新、后台轮询等,导致了高达 1GB 的内存占用。
Electron 和 WebView 让开发桌面应用变得容易,一个前端工程师就能搞定,无需学习 WinUI 或 WPF。但这也使得开发团队选择了最低成本的开发路径,统一使用 WebView 来维护多个内置应用,而完全忽视了用户端的资源消耗。然而,用户并不关心开发成本,他们看到的是任务管理器里一个天气 App 占了 1GB 内存,而自己的电脑可能只有 8GB 内存。
不只是微软,整个行业都存在用 Web 技术堆桌面应用的现象,如 Slack、VS Code、Discord、Spotify 等都采用了 Electron 或类似方案。但这些应用至少提供了足够复杂的功能来「值回」内存开销,而一个天气 App 显然没有。虽然有评论指出 1GB 可能是峰值数据,WebView 在空闲时应释放内存,但即使平均占用 300 - 500MB,对于一个天气应用来说也不合理。
编辑观点:微软此次在天气应用上的开发选择凸显了开发成本与用户体验的矛盾。行业应重视用户硬件资源消耗,不能只图开发便捷而忽视用户感受,否则将影响产品口碑和用户忠诚度。