精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Flutter與Android 原生WebView對比

移動開發 Android
說到跨平臺開發,就不得不提 WebView,WebView 可以說是最廉價的跨平臺開發方案。我們知道,flutter 可以和 native 混合開發,它們可以互相調用。那么當我們進行混合開發的時候,如果需要使用 WebView,我們應該調用原生的 WebView 還是使用 flutter 自己實現 WebView 呢?

前言

自從 google 推出 flutter 跨平臺開發框架以來,flutter 在各個技術論壇里被炒得如日中天。

說到跨平臺開發,就不得不提 WebView,WebView 可以說是最廉價的跨平臺開發方案。我們知道,flutter 可以和 native 混合開發,它們可以互相調用。那么當我們進行混合開發的時候,如果需要使用 WebView,我們應該調用原生的 WebView 還是使用 flutter 自己實現 WebView 呢?如果用 flutter 自己實現 WebView,它的性能與 native 相比如何呢?今天我們就以 android 為例從幾個不同的維度來實際測試一下!

[[265159]]

Flutter 實現 WebView

flutter 官方是沒有 WebView 組件的,不過強大的 flutter-community 論壇考慮到廣大開發者的需求,開發了 flutter_webview_plugin 插件,方便在 flutter 中使用使用 WebView。

集成方式很簡單,在 pubspec.yaml 文件中: 

  1. dependencies: 
  2.   flutter: 
  3.     sdk: flutter 
  4.   flutter_webview_plugin: ^0.3.0+2 

接下來所有的對比都是基于 Android 原生的 WebView 和 flutter_webview_plugin 插件,為了嚴謹,并未對第三方 WebView 作對比。

測試手機:小米8SE 系統:Android 8.1.0

加載速度對比

測試網頁打開的速度,只需要獲取 WebView 在開始加載網頁和網頁加載完成時的時間戳,時間戳的差即為打開網頁的時間,我們分別在 Android 原生和 flutter 中的相應位置打印 log: 

  1. webView?.webViewClient = object : WebViewClient() { 
  2.     override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { 
  3.         Log.d(TAG, "onPageStarted:" + System.currentTimeMillis()) 
  4.         super.onPageStarted(view, url, favicon) 
  5.     } 
  6.     override fun onPageFinished(view: WebView?, url: String?) { 
  7.         Log.d(TAG, "onPageFinished:" + System.currentTimeMillis()) 
  8.         super.onPageFinished(view, url) 
  9.     } 
  10. 復制代碼 
  11. flutterWebViewPlugin.onStateChanged.listen((state) { 
  12.   if (state.type == WebViewState.finishLoad) { 
  13.     print('finishLoad:' + DateTime.now().millisecondsSinceEpoch.toString()); 
  14.     setState(() { 
  15.       isLoad = false
  16.     }); 
  17.   } else if (state.type == WebViewState.startLoad) { 
  18.     print('startLoad:' + DateTime.now().millisecondsSinceEpoch.toString()); 
  19.     setState(() { 
  20.       isLoad = true
  21.     }); 
  22.   } 
  23. }); 

為了使差異更明顯,我們選擇較為復雜的 新浪首頁 進行加載的對比,為了減小網絡對加載速度的影響,我們讓手機連接同一個網絡,分別進行 10 次測試然后取平均值,另外,我們需要關閉 WebView 的緩存,防止緩存對加載速度產生影響: 

  1. webView?.settings?.cacheMode = WebSettings.LOAD_NO_CACHE 
  1. WebviewScaffold( 
  2.   key: _scaffoldKey, 
  3.   url: widget.url, 
  4.   clearCache: true
  5.   appCacheEnabled: false
  6.   . 
  7.   . 
  8.   . 
  9. ); 

下面使筆者進行 10 次測試所得到的數據:

Flutter與Android 原生WebView對比

可以發現,相同環境下 flutter_webview_plugin 的加載速度比 native WebView 略快,但是差異不明顯,基本可以忽略。

結論:flutter_webview_plugin 的加載速度比 native WebView 略快。

內存占用對比

可以使用 AndroidStudio 自帶的 profiler 工具來進行占用內存的測試,我們在 flutter 程序中同時集成調用 native WebView 和 flutter_webview_plugin 來打開淘寶首頁和新浪首頁的方法,在程序剛運行的時候內存占用如下圖:

Flutter與Android 原生WebView對比

然后用 WebView 打開淘寶首頁:

Flutter與Android 原生WebView對比

用 flutter_webview_plugin 打開淘寶首頁:

Flutter與Android 原生WebView對比

 

可以發現,用 WebView 打開淘寶首頁內存基本無變化,但是用 flutter_webview_plugin 打開淘寶首頁內存有明顯的增加,且波動較大。

結論:flutter_webview_plugin 相對 native WebView 而言,占用內存較大。

HTML5 兼容性對比

可以在 html5test 中對瀏覽器的兼容性進行評分,通過測試發現 native WebView 和 flutter_webview_plugin 的得分分別如下:

Flutter與Android 原生WebView對比

 Flutter與Android 原生WebView對比

現在小米8SE手機上,native WebView 和 flutter_webview_plugin 的 html5 兼容性得分都是 501。

結論:native WebView 和 flutter_webview_plugin 的 html5 兼容性無明顯差異。

總結

我們對 native WebView 和 flutter_webview_plugin 分別進行了網頁加載速度、占用內存和 html5 兼容性作了對比,發現 native WebView 占用內存更小,網頁加載速度和 html5 的兼容性無明顯差異。

在實際使用中,由于 flutter_webview_plugin 并不存在于 widget 樹中,所以不能在 flutter_webview_plugin 中使用如 snackbars, dialogs...這些通知交互 widget。但是 flutter_webview_plugin 具有跨平臺的優勢,如果需要同時 flutter 項目中同時在 Android 和 iOS 端使用 WebView,建議使用 flutter_webview_plugin,否則,建議使用 native WebView。

希望大家踴躍討論,交流一下你們的寶貴經驗,互相提高下!

責任編輯:未麗燕 來源: 簡書
相關推薦

2014-08-21 15:19:14

MIUI 6

2019-06-25 10:53:06

AndroidFlutter通信

2014-07-30 14:22:41

AndroidWebView內存泄漏

2014-07-29 11:16:07

2009-08-10 09:26:56

2015-03-03 15:53:31

Android控件

2017-05-26 12:19:28

android代碼WebView

2017-06-02 14:00:34

Android截屏WebView

2018-08-01 15:49:51

AndroidH5通信

2019-07-22 16:39:57

技術研發Flutter

2012-07-06 09:59:09

iOS 6Android 4.1

2024-12-25 16:12:18

2017-04-25 12:07:51

AndroidWebViewjs

2014-09-17 10:57:30

AndroidWebview安全交互

2020-03-06 09:21:28

PWA原生應用Web

2019-02-11 08:48:07

XMLJSON前端

2009-09-24 14:04:25

Hibernate i

2020-07-04 10:41:32

MQTTSSE網絡協議

2019-03-06 15:04:35

Google安全WebView

2020-07-02 16:00:53

?Flutter桌面應用代碼
點贊
收藏

51CTO技術棧公眾號

日本高清在线观看wwwww色| 无码人妻一区二区三区线| 亚洲日本va| 午夜精品免费在线观看| 欧美激情专区| 国产偷拍一区二区| 99综合精品| 日韩中文字幕视频在线| 国产女人18毛片水真多18| 香蕉视频亚洲一级| 亚洲综合av网| 亚洲精品一区二区三区不| 成人在线观看黄| 中文字幕伦理免费在线视频 | 成人在线一区| 日韩免费高清视频| 一路向西2在线观看| 日本成人动漫在线观看| 久久蜜桃精品| 美女扒开尿口让男人操亚洲视频网站| 国产精品久久久免费观看| 在线观看电影av| 久久久久国产一区二区三区四区| 亚洲一区久久久| 波多野结衣午夜| 亚洲午夜在线| 欧美三级电影在线观看| 97免费视频观看| 成人h动漫精品一区二区无码| 国产农村妇女精品一二区| 久久五月天综合| 亚洲一区二区福利视频| 免费在线观看av| 久久久另类综合| 国产激情一区二区三区在线观看| 在线观看av大片| 久久国产高清| 欧美在线视频观看| 国产精品.www| 亚洲精品无吗| 精品99999| www.欧美com| 国产免费av国片精品草莓男男| 色哟哟国产精品免费观看| 日韩欧美不卡在线| 男女在线视频| 亚洲综合区在线| 三级在线免费观看| 97超碰在线公开在线看免费| 综合久久综合久久| 久久免费视频2| 日本最新在线视频| 国产精品麻豆视频| 一级二级三级欧美| 日本中文在线观看| 中文字幕制服丝袜成人av | 国产精品传媒精东影业在线| 在线免费观看羞羞视频一区二区| 一区二区精品免费| 精品久久久亚洲| 夜夜嗨av色一区二区不卡| av电影在线不卡| 欧美日韩中文字幕一区二区三区| 国产一区二区三区视频在线观看| 中文字幕免费高清| 波多野结衣的一区二区三区| 最近中文字幕2019免费| 日韩av影视大全| 国产精品一区二区三区www| 91精选在线观看| 下面一进一出好爽视频| 成人午夜三级| 亚洲品质视频自拍网| 久久久视频6r| 99久久激情| 欧美激情亚洲激情| 国产又黄又猛又粗又爽| 久久在线精品| 国产日韩欧美成人| 亚洲第一页视频| 99精品国产热久久91蜜凸| 欧美激情视频一区二区三区| 中文字幕在线免费| 一区二区高清免费观看影视大全| 妞干网在线视频观看| 亚洲黄色中文字幕| 欧美久久婷婷综合色| 337p日本欧洲亚洲大胆张筱雨| 欧美激情99| 在线不卡中文字幕| 天天躁日日躁狠狠躁av| 精品影片在线观看的网站| 欧美一区三区二区| 超碰caoprom| 欧美色图在线播放| 欧美精品在线视频观看| 欧美激情黑白配| 国内成人精品2018免费看| 国产精品一区二区三区不卡| 国产福利片在线| 一区二区三区视频在线看| 91猫先生在线| 国产一区二区三区黄网站| 日韩激情片免费| 午夜剧场免费在线观看| 日韩精品第一区| 欧美精品制服第一页| 国产一级做a爱片久久毛片a| 韩国欧美国产1区| 蜜桃导航-精品导航| 国产区在线看| 欧美亚洲国产bt| 欧亚乱熟女一区二区在线| 色喇叭免费久久综合网| 青青久久av北条麻妃黑人| 99精品免费观看| 国产女主播在线一区二区| 水蜜桃色314在线观看| 粉嫩av国产一区二区三区| 亚洲欧美制服中文字幕| 精品在线视频观看| 紧缚奴在线一区二区三区| 欧美另类高清视频在线| 欧美日韩色网| 欧美一区二区三区色| 免费黄色片网站| 亚洲欧美日韩视频二区| 国产精品久久久久久久小唯西川| 免费黄色电影在线观看| 在线观看亚洲精品视频| theav精尽人亡av| 欧美私人啪啪vps| 国产精品美女在线| 青青草视频在线观看| 亚洲成av人影院| 无码国产精品久久一区免费| 性欧美欧美巨大69| 国产欧洲精品视频| 9色在线观看| 色综合久久久久综合99| 亚洲观看黄色网| 夜久久久久久| 精品视频高清无人区区二区三区| 性欧美videos高清hd4k| 日韩一级二级三级| 2018天天弄| 国产精品18久久久久| 国产伦精品一区| 四虎影视国产在线视频| 91精品国产高清一区二区三区蜜臀| 国产一区第一页| 久久黄色级2电影| 在线观看日本一区| 青青伊人久久| 久久成人国产精品| 国产乱淫a∨片免费视频| 国产成人av在线影院| 超碰10000| 无码国模国产在线观看| 九色精品美女在线| 天天干视频在线观看| 欧美日韩美女在线| 在线观看福利片| 日韩av一区二区在线影视| 免费不卡亚洲欧美| 成人h在线观看| 久久精品国产欧美亚洲人人爽| 国产精品视频a| 一区二区欧美在线观看| 一区二区免费在线观看视频| 国产精品美女| 手机看片福利永久国产日韩| 亚洲爽爆av| 久久久久久久久久久久久久久久久久av | 欧美天堂亚洲电影院在线播放| 日本美女bbw| 国产福利91精品一区二区三区| 免费人成自慰网站| 伊人久久大香线蕉综合网蜜芽| 国产精品久久久久影院日本| 高清全集视频免费在线| 亚洲第一精品福利| 久久久久人妻一区精品色| 韩国精品一区二区| 欧美人成在线观看| 精品国产一区二区三区小蝌蚪| 国产又爽又黄的激情精品视频| 亚洲大胆人体大胆做受1| 亚洲精美色品网站| 亚洲天堂手机在线| 亚洲一二三区视频在线观看| 亚洲欧美日韩三级| 亚洲视频免费| 亚洲不卡1区| 嗯用力啊快一点好舒服小柔久久| 日韩暖暖在线视频| 特级毛片在线| 国产一区二区三区高清在线观看| 亚洲AV午夜精品| 一本大道久久a久久精品综合| 欧美视频www| 久久免费视频一区| 91视频福利网| 老司机精品视频网站| 欧美精品在欧美一区二区| 九一亚洲精品| 产国精品偷在线| 成人在线观看免费视频| 国内伊人久久久久久网站视频 | 欧美激情一区二区三区全黄| 亚洲黄色小说在线观看| 免费成人av在线播放| av高清在线免费观看| 亚洲精品久久久| 欧美重口乱码一区二区| 草莓视频一区二区三区| 成人女保姆的销魂服务| 国产精品极品美女在线观看| 欧美劲爆第一页| jizzjizz亚洲| xx视频.9999.com| 高清在线观看av| 日韩精品高清视频| 日韩一卡二卡在线| 欧美一二三区在线观看| 中文字幕日本人妻久久久免费| 精品高清一区二区三区| www青青草原| 中文字幕一区二| 五月婷婷婷婷婷| 黄色资源网久久资源365| 久久综合久久色| 国产欧美二区| 分分操这里只有精品| 欧美在线亚洲| 久久99国产精品一区| 久久一区91| 亚州欧美一区三区三区在线| 国产传媒欧美日韩成人精品大片| 精品人伦一区二区三区| 欧美变态挠脚心| 精品一区在线播放| 精品少妇3p| 久久久99国产精品免费| 四虎5151久久欧美毛片| 国产一区二区三区奇米久涩 | 精品国产伦理网| 精品女同一区二区三区| 日韩一区二区高清| 精品人妻一区二区三区四区不卡| 日韩一区二区精品在线观看| 亚洲AV无码精品国产| 精品第一国产综合精品aⅴ| 高清一区二区三区四区| 亚洲国产精品一区二区三区| 污视频网站免费观看| 日韩精品在线观看一区| 日本大片在线观看| 国产午夜精品一区二区三区| 国产片在线观看| 久久久av亚洲男天堂| 黄页视频在线播放| 欧美激情中文字幕在线| 亚洲第一av| 国产精品人人做人人爽| 日韩综合久久| 成人av蜜桃| 特黄特色欧美大片| 亚洲aⅴ天堂av在线电影软件| 99re6这里只有精品| 18视频在线观看娇喘| 亚洲视频一区| 欧美日韩大尺度| 久久99最新地址| 日日摸日日碰夜夜爽av| 老司机午夜精品视频在线观看| 一区二区三区免费播放| 国产一区二区免费视频| 日本一卡二卡在线| 日本一区二区视频在线观看| 波多野结衣家庭教师| 午夜一区二区三区视频| 精品一区二区无码| 日韩一区二区在线观看视频 | 黄色大片中文字幕| 日韩精品亚洲专区| 天天干天天曰天天操| 99视频精品全部免费在线| 国产一二三四区在线| 一区二区高清免费观看影视大全 | 久久99精品久久久久久| 95视频在线观看| 欧美激情综合五月色丁香| 久久在线视频精品| 欧美三级日韩在线| 欧美一区二区公司| 在线亚洲午夜片av大片| 爱啪视频在线观看视频免费| 91精品国产综合久久香蕉最新版 | 日韩网址在线观看| 激情国产一区二区 | 综合久久一区二区三区| 国产精品免费av一区二区| 一区二区三区成人在线视频| 久久亚洲精品石原莉奈| 欧美不卡在线视频| √天堂资源地址在线官网| 91极品视频在线| 日韩123区| 国产精品一区二区久久国产| 欧美深夜视频| 国内外成人激情免费视频| 男人的天堂亚洲一区| 成年人网站免费在线观看| 一区二区三区在线播| 亚洲熟女乱色一区二区三区久久久| 日韩电影在线观看中文字幕| 亚洲大胆人体大胆做受1| 国产有码一区二区| 操欧美老女人| 国产女女做受ⅹxx高潮| 东方欧美亚洲色图在线| 国产67194| 欧美区一区二区三区| 国产农村妇女毛片精品久久| 亚洲无限av看| 中文在线а√在线8| 国产一区二区不卡视频在线观看| 一区二区电影在线观看| the porn av| 国产欧美日韩视频在线观看| 中文字幕视频网| 日韩成人久久久| а√天堂8资源在线| 国产成人成网站在线播放青青 | 日韩一区二区欧美| 国产电影一区二区三区爱妃记| 欧美精品一区二区三区在线四季| 国产精品免费看| aaaaa一级片| 欧美视频中文在线看| 天堂资源最新在线| 欧美资源在线观看| 亚洲黄色录像| 99re在线视频免费观看| 久久久久久久免费视频了| 日日噜噜噜噜人人爽亚洲精品| 日韩高清av在线| 一区二区精品伦理... | 国产精品99一区二区三区| 奇米视频7777| 亚洲天堂免费在线观看视频| 国产精品亚洲lv粉色| 欧美刺激性大交免费视频| 久久国产精品美女| 欧美这里只有精品| 99这里只有精品| www.毛片.com| 最近2019中文字幕第三页视频| 欧美大陆国产| 三级在线免费观看| aaa亚洲精品| 在线观看国产精品入口男同| 日韩天堂在线视频| 日韩精品久久久久久久软件91| 18黄暴禁片在线观看| 91蜜桃免费观看视频| 日批视频免费观看| 欧美大胆a视频| 狼人精品一区二区三区在线| 蜜臀av午夜一区二区三区| 国产精品欧美一区喷水| 国产aⅴ爽av久久久久成人| 性欧美亚洲xxxx乳在线观看| 亚洲欧美tv| 99日在线视频| 亚洲成人激情自拍| www.在线播放| 亚洲最大的成人网| 午夜在线精品偷拍| 日本一二三区在线观看| 亚洲аv电影天堂网| 日韩欧美一区二区三区在线观看| 亚洲一卡二卡三卡四卡无卡网站在线看| 韩国女主播成人在线观看| 精品国产乱码一区二区| 日韩视频欧美视频| 欧美电影在线观看免费| 污污视频网站在线| 婷婷综合在线观看| 日韩精品成人av| 久久大片网站| 国产又粗又猛又爽又黄91精品| 日韩 欧美 综合| 精品久久久91| 免费看成人哺乳视频网站| 善良的小姨在线| 日本电影亚洲天堂一区| 色av男人的天堂免费在线| 国产欧美日韩精品专区|