Когда я вхожу в свою учетную запись GMail (используя Firefox 31.0 через Ubuntu 14.04 64bit), если я сохраняю эту веб-страницу на рабочем столе, размер файла составляет 1,3 МБ.
Однако если я посмотрю на потребление оперативной памяти Firefox до входа в GMail, а затем после, то GMail увеличивает потребление оперативной памяти более чем на 200 МБ!
Даже когда я запускаю Firefox в безопасном режиме (в котором отключены плагины/расширения), я вижу огромное увеличение потребления оперативной памяти при входе в GMail.
Конечно, веб-приложение GMail не просто так мгновенно загрузило и кэшировало более 200 МБ данных.
Я подумал, что, возможно, он буферизует какой-то локальный кэш, который мог использоваться в предыдущем сеансе, но я использовал другой веб-браузер (через который я никогда раньше не входил в GMail), и он тоже использовал гораздо больше оперативной памяти после входа в GMail.
Каким образом веб-страница размером 1,3 МБ занимает более 200 МБ оперативной памяти каждый раз, когда вы на нее заходите?
Какая неэффективность или стратегия кэширования может быть причиной того, что этот веб-сайт потребляет в 200 раз (в оперативной памяти) больше данных, чем он фактически отображает?
решение1
Веб-страница Gmail запускает МНОГО скриптов в фоновом режиме по таймерам и т. д. Они занимают память по мере работы. Ваша «сохраненная» копия не будет иметь этих скриптов (по крайней мере, не в рабочем/запускающемся виде) и связанных с ними объектов в памяти.
Если вы используете профилировщик памяти (встроенный в большинство инструментов разработки современных браузеров), вы можете увидеть, что на самом деле использует память.
Когда я делаю снимок своей «неактивной» страницы Gmail, там есть136,441объекты загружены в память.
Объем памяти этих объектов варьируется от 32 байт до нескольких килобайт и даже более 4 мегабайт в зависимости от объекта.
И это не считая памяти, используемой браузером для фактического отображения страницы.
- Возможно, попробуйтеВерсия «Базовый HTML», так как он должен использоватьмногоменьше памяти. Доступно по адресуhttps://mail.google.com/mail/?ui=html.