首先,我(wǒ)們來簡單了解下(xià)小(xiǎo)程序的運行環境。小(xiǎo)程序的運行環境分(fēn)成渲染層和邏輯層,其中(zhōng) WXML 模闆和 WXSS 樣式工(gōng)作在渲染層,JS 腳本工(gōng)作在邏輯層。
小(xiǎo)程序的渲染層和邏輯層分(fēn)别由2個線程管理:渲染層的界面使用了WebView 進行渲染;邏輯層采用JsCore線程運行JS腳本。一(yī)個小(xiǎo)程序存在多個界面,所以渲染層存在多個WebView線程,這兩個線程的通信會經由微信客戶端(下(xià)文中(zhōng)也會采用Native來代指微信客戶端)做中(zhōng)轉,邏輯層發送網絡請求也經由Native轉發,小(xiǎo)程序的通信模型下(xià)圖所示。