16GB 記憶體開分頁還是會當?Chrome 68 版這樣做解決瀏覽器開太多分頁的問題

作者 | 發布日期 2018 年 08 月 01 日 8:30 | 分類 Google , 軟體、系統 follow us in feedly

Chrome 瀏覽器過去一直因占用大量系統資源被使用者抱怨,雖然說先前 Chrome 瀏覽器已改善一些,不過對記憶體不大的用戶來說,多開幾個分頁之後還是很吃力。前幾週的 Chrome 67 版本,因為要解決 Intel 處理器的「幽靈」(Spectre)漏洞問題,預設啟動「網站隔離」(Site Isolation)功能,副作用是占用更多記憶體,更使記憶體不夠的用戶叫苦連天。



不過,Chrome 還是有針對記憶體改進,新版 Chrome 68 版引入 Page Lifecycle interface,可讓瀏覽器「凍結」目前沒使用的網站分頁占用的資源,然後等你需要這些網站的時候再啟動。根據 Chrome 工程師 Philip Walton 表示,這個功能可讓瀏覽器主動優化系統資源,特別對瀏覽網頁的使用者帶來明顯改進的體驗。

值得說明的是,這項改進主要是針對網站開發者設計,因此短期內一般使用者瀏覽網頁時不會有特別感受。必須等越來越多開發者加入,對使用者來說才會有感。

Page Lifecycle interface 的設計其實是參考時下作業系統。目前主流作業系統,應用程式的生命週期是現代作業系統管理資源的關鍵方法,Android、iOS 及最近 Windows 都一樣。應用程式可在前台不使用時,由系統決定將應用程式暫時「凍結」或開啟,然後將挪出來的記憶體及其他資源,拿去給其他使用中的應用程式,這讓作業系統可隨時選擇對使用者最好的方法重分配系統資源。

但在 Web,過去並沒有類似生命週期的概念,每個開著的分頁都必須「活著」,當越來越多分頁開啟,就會占用像記憶體、CPU、電池、網路等資源越來越多,最後導致使用者覺得系統卡卡甚至用不下去。

幾年前 Chrome 就有「Tab Discarding」(分頁捨棄功能),Chrome 會在系統記憶體快要不夠的時候,自動捨棄一些不用分頁占據的記憶體空間,雖然這些分頁依然在瀏覽器上,但下次你點開這些分頁時,會看到頁面重新載入。

而 Chrome 68 給予開發者更多功能,比方說網站設計者可針對凍結分頁選擇捨棄以釋出記憶體,未來網站開發者可多加利用 Page Lifecycle interface,瀏覽器才會知道怎樣資源調度最佳,以帶給使用者更好的體驗。

此外,Page Lifecycle interface 也適用漸進式網頁應用程式(Progressive Web Apps,PWAs),PWAs 指的是表現像原生程式的網站,或說它們是由網頁架構衍生,並採用網頁技術的程式。根據 Chrome 資深程式設計師 Alex Russell 表示,透過 Page Lifecycle interface 改進,未來手機 PWAs 記憶體調度也會更接近原生程式,會有更好的效能。

(本文由 T客邦 授權轉載;首圖來源:Flickr/jibunkaiwai CC BY 2.0)

延伸閱讀: