Браузер Google Chrome славится скоростью обработки сценариев javascript столько же широко, сколько и непомерными аппетитами в области потребления оперативной памяти. Многочисленные жалобы владельцев нетбуков и других устройств с низким объёмом памяти заставили разработчиков проекта Chromium заняться этой проблемой вплотную.
Архитектура браузера подразумевает выделение процесса под каждый запущенный элемент: движок, вкладки, расширения и подключаемые модули. Теоретически такой ход позволяет операционной системе кэшировать процессы, скрытые от глаз пользователя, например, неактивные вкладки. На практике расширения плохо поддаются механизмам оптимизации системы, поэтому простенькие кнопки оповещения о новых письмах могут занимать десятки мегабайт памяти. Для борьбы с этим явлением, компания Google предлагает разработчикам расширений воспользоваться Event Pages API. При использовании этого интерефейса неактивные расширения кэшируют свои данные и высвобождают необходимые пользователю ресурсы. Расширение будет находиться в состоянии сна до тех пор, пока не понадобится пользователю.
На изображении выше разработчики Google продемонстрировали работу расширения Google+ Notifications, использующего новый API. Применение новой технологии снизило общее потребление оперативной памяти в более чем 2 раза. На данный момент API имеет статус экспериментального и работает в ночных сборках Chromium, а также в каналах обновления Dev/Canary браузера Google Chrome.
Источник: OsZone
|