16GB內存開分頁還是卡?Chrome 68這樣解決瀏覽器太多分頁的問題

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

16GB內存開分頁還是卡?Chrome 68這樣解決瀏覽器太多分頁的問題

不過,Chrome還是有針對內存的問題做出了改進,在新版的Chrome 68版中,引入的Page Lifecycle interface,將可以讓瀏覽器"凍結"那些目前沒在使用的網站分頁所佔用的資源,然後等你需要這些網站的時候再去啟動他們。根據Chrome的工程師Philip Walton表示,這個功能將可以讓瀏覽器更主動地優化系統資源,特別對瀏覽網頁的使用者可以帶來明顯改進的體驗。

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

16GB內存開分頁還是卡?Chrome 68這樣解決瀏覽器太多分頁的問題

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

但是在Web上,過去並沒有類似生命週期的這種概念,每一個開著的分頁都必須要"活著",而當越來越多的分頁被開啟,就會佔用了像是內存、CPU、電池、網絡等資源越來越多,最後導致使用者覺得系統卡卡甚至用不下去。

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

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

16GB內存開分頁還是卡?Chrome 68這樣解決瀏覽器太多分頁的問題

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


分享到:


相關文章: