Android如何區分app原生和webview實現
阿新 • • 發佈:2019-02-02
在開發Android app時,特別是強內容展現型的功能,會想在原生native實現和web實現中做選擇,做這種選擇的時候,難免想看看競品或其它app類似功能是用哪種方式實現的。但是如何判斷其它app是用原生控制元件實現還是用webview載入網頁來實現呢?其實要想做到這一點不難,至少有兩種辦法:
一、抓包
這是比較原始,也是比較容易想到的,開啟相應介面,抓取資料包看看,如果有url是返回比較完整的html程式碼,那基本就是webview來實現的了。
二、利用系統開發人員工具
抓包的方法還是太麻煩,很多系統有更高階的開發人員工具功能,一般在設定裡可以找到,有些手機可能需要特殊的操作才能開啟開發人員工具功能。以meizu mx2為例,在撥號介面輸入 *#*#6961#*#*
如下圖是一個native與webview混排的介面,藍色線框是各控制元件的繪製邊界,中間那一大塊佈局豐富的介面沒有顯示出很多邊界藍線,就是網頁實現的。
除了上面兩種方法,一般來說,通過斷開網路,重新整理介面,觀察內容快取情況也可以對實現方式有個大致預判斷,一般來說快取做得好的,都是原生控制實現的,有介面區域性快取的就更大可能是原生的了。
高手們還有別的方案嗎?歡迎在下面評論!