1. 程式人生 > >ionic3專案引入騰訊X5核心解決系統webview的一系列問題

ionic3專案引入騰訊X5核心解決系統webview的一系列問題

系統webview的問題

雖然安卓系統4.x之後已經切換到了chromium核心,但是依舊存在效能低下,不同版本頁面渲染效果不一致的問題,特別是我們的裝置屬於定製系統,系統版本為5.1,在該版本上,存在一個嚴重的記憶體洩露的問題,如果高頻的分配變數,則記憶體回收會出現問題,拷機發現約20個小時會洩露800M,由於我們的裝置需要監測感測器每秒的資料變化,該問題會直接影響我們裝置的穩定性,如果無法解決,整個方案必須推倒重來.我首先想到的是切換到Crosswalk,效能和效果都很滿意,但是執行一段時間之後程式會宕機.還好後來發現了騰訊的X5核心,引入之後測試了一個周,效能表現很穩定.開心!!!

接入方法

接入很簡單,有人已經寫好了外掛

ionic cordova plugin add cordova-plugin-x5-webview    

cordova build android

判斷X5核心是否啟動

可以通過瀏覽器的userAgent來判斷x5核心是否啟用

     getBrowserKernel(){
        let ua = navigator.userAgent;
        let key = "TBS/";
        let start = ua.indexOf(key);
        this.browserKernel = "系統核心";
        if (start !== -1) {
            start = start + key.length;
            this.browserKernel = "X5核心:" + ua.substr(start, ua.indexOf(" ", start) - start);
        }
    }

X5核心無法啟動怎麼辦?

X5核心優先採用共享模式,如果沒有的話會去下載,如果實在啟動不了,說明系統中可能沒有X5核心,開發板連線wifi,安裝開發組提供的TBSdemo APK,通過這個apk去安裝X5核心.然後重新安裝應用並啟動試試.