【问题标题】:Angular 6 website shows in chrome task manager, 1.3 gb of memory footprint and then 160 mb memory footprint after few secondsAngular 6 网站在 chrome 任务管理器中显示,1.3 gb 的内存占用,然后几秒钟后 160 mb 的内存占用
【发布时间】:2018-08-12 05:54:33
【问题描述】:
我正在使用 Angular 6,在生产环境中,我们的网站从 100MB 内存占用开始,然后在加载时不断增加到 1.3GB,然后在加载完成后几秒钟内降至 160MB。
谁能告诉我为什么会这样以及如何调试这个问题?
因此,许多用户在打开网站时遇到 Aw snap 的 chrome 错误。我猜内存低的用户会遇到这个问题。
P.S.:我正在使用生产构建和所有标准的生产部署步骤。
【问题讨论】:
标签:
angular
google-chrome
memory-management
angular6
【解决方案1】:
终于找到了问题和解决方案。这个问题与角度无关,而是浏览器如何渲染图像。
问题:在特定页面中有一张图片,其 jpg 图片尺寸为 18000 x 12000 像素,但大小约为 500kb。因此,当页面加载时,图像正在被渲染,这就是为什么内存占用将达到 18000*12000*4 字节 = ~ 850 MB,其余的内存消耗来自角度应用程序和其他图像渲染。
解决方案:
尽管我们确保任何图像最大为 500kb,但在渲染大尺寸图像时会占用更多内存,因此进行了一项新检查以确保图像的尺寸也受到监控。