對多執行緒來說盡量使用HTML5的WEB WORKER特性
HTML5中的Web Worker是使用多個執行緒併發執行Javascript程式。另外,這種特別的多執行緒實現能減少困惑開發者多年的,在其他平臺上遇到的問題。例如,當一 個執行緒需要改變一個正在被其他執行緒使用的資源該如何處理。在Web Worker中,子執行緒不能修改主使用者介面(UI)執行緒使用的資源。
對提高移動站點的效能來說,Web Worker中的程式碼很適合用來預處理使用者完成進一步操作所需要的資源的,特別是在使用者的頻寬資源不緊缺的情況下。在低處理器效能的移動裝置上,過多的預 載入可能會干擾當前頁面的UI響應。使用多執行緒程式碼,讓Web Worker物件(並且儘可能使用localStorage來快取資料)在另外一個執行緒中操作預載入資源,這樣就能不影響當前的UI表現了。
要特別說明的是,Web Worker只在Android 2.0以上的版本實現,而且iphone上的ios5之前的版本也不支援。在桌面PC上,總是落後的IE只在IE 10才支援Web Worker。
實現小貼士:平穩過渡。雖然這項技術並不是非常難實現,但是對Web Workers來說,有一些限制需要強制遵守。Web Workers不能進入到頁面的DOM,也不能改變頁面上的任何東西。Web Worker很適合那種需要後臺計算和處理的工作。