Android如何區分app原生和webview實現


在開發Android app時,特別是強內容展現型的功能,會想在原生native實現和web實現中做選擇,做這種選擇的時候,難免想看看競品或其它app類似功能是用哪種方式實現的。但是如何判斷其它app是用原生控件實現還是用webview載入網頁來實現呢?其實要想做到這一點不難,至少有兩種辦法:

一、抓包

這是比較原始,也是比較容易想到的,打開相應界面,抓取數據包看看,如果有url是返回比較完整的html代碼,那基本就是webview來實現的了。

二、利用系統開發人員工具

抓包的方法還是太麻煩,很多系統有更高級的開發人員工具功能,一般在設置里可以找到,有些手機可能需要特殊的操作才能打開開發人員工具功能。以meizu mx2為例,在撥號界面輸入 *#*#6961#*#* 打開“開發人員工具”功能(輸入 *#*#6960#*#* 關閉),點擊“設置”->“輔助功能”->“開發人員工具”,在繪圖欄中找到“顯示布局邊界”並打開。這樣所有應用的控件布局都一目了然了,webview作為一個控件,只有一個邊界框,所以通過這一點,就比較容易區分出一個界面是webview實現的還是native布局控件實現的,當然也不排除用一堆webview來拼成一個界面的實現方法。

如下圖是一個native與webview混排的界面,藍色線框是各控件的繪制邊界,中間那一大塊布局豐富的界面沒有顯示出很多邊界藍線,就是網頁實現的。

webview使用

除了上面兩種方法,一般來說,通過斷開網絡,刷新界面,觀察內容緩存情況也可以對實現方式有個大致預判斷,一般來說緩存做得好的,都是原生控制實現的,有界面局部緩存的就更大可能是原生的了。

高手們還有別的方案嗎?歡迎在下面評論!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM