ADVERTISEMENT
Chrome瀏覽器過去一直因為佔用了大量的系統資源被使用者抱怨,雖然說先前Chrome瀏覽器已經做了一些改善,不過對於記憶體不大的用戶來說,多開幾個分頁之後還是會顯得很吃力。而前幾週的Chrome 67版本,因為要解決Intel處理器的「幽靈」(Spectre)漏洞問題,預設啟動「網站隔離」(Site Isolation)功能,副作用是佔用更多記憶體,更是記憶體小的用戶叫苦連天。
不過,Chrome還是有針對記憶體的問題做出了改進,在新版的Chrome 68版中,引入的Page Lifecycle interface,將可以讓瀏覽器「凍結」那些目前沒在使用的網站分頁所佔用的資源,然後等你需要這些網站的時候再去啟動他們。根據Chrome的工程師Philip Walton表示,這個功能將可以讓瀏覽器更主動地優化系統資源,特別對瀏覽網頁的使用者可以帶來明顯改進的體驗。
值得說明的是,這項改進主要是針對網站開發者而設計,因此在短期之內,一般使用者瀏覽網頁時應該不會有特別的感受。必須要等到越來越多開發者加入,對於使用者來說才會有感。
ADVERTISEMENT
Page Lifecycle interface的設計其實是向時下的作業系統參考而來,在目前的主流作業系統上,應用程式的生命週期是現代的作業系統管理資源的關鍵方法,在Android、iOS以及最近的Windows上都一樣。應用程式可以在不在前台被使用的時候,由系統來決定將這個應用程式暫時「凍結」或是開啟,然後將挪出來的記憶體以及其他資源,拿去給其他正在使用的應用程式來使用,這種作法讓作業系統可以隨時選擇對使用者最好的方法去重分配系統資源。
但是在Web上,過去並沒有類似生命週期的這種概念,每一個開著的分頁都必須要「活著」,而當越來越多的分頁被開啟,就會佔用了像是記憶體、CPU、電池、網路等資源越來越多,最後導致使用者覺得系統卡卡甚至用不下去。
幾年前Chrome就有了「 Tab Discarding (分頁捨棄功能)」,Chrome會在系統記憶體快要不夠的時候,自動捨棄一些不用的分頁佔據的記憶體空間,雖然這些分頁依然在瀏覽器上,但是下次你要點開這些分頁時,會看到頁面會重新載入。
ADVERTISEMENT
而在Chrome 68則是給予開發者更多的功能,比方說網站設計者可以針對被凍結的分頁來選擇捨棄以釋放出記憶體,而未來網站開發者可以多加利用Page Lifecycle interface,瀏覽器才會知道怎麼樣做出更好的資源調度,以帶給使用者更好的體驗。
此外,Page Lifecycle interface也適用於漸進式網頁應用程式(Progressive Web Apps,PWAs),PWAs指的是表現得像是原生程式的網站,或者說它們是由網頁架構所衍生,並採用網頁技術的程式。根據Chrome資深程式設計師 Alex Russell表示,透過Page Lifecycle interface的改進,未來手機上的PWAs在記憶體的調度上會更接近于原生程式,也會有更好的效能。
ADVERTISEMENT
ADVERTISEMENT