性能优化系列之『WebView:如何选择合适的WebView内核?』


一、iOS UIWebView

1、优点

  1. 从 iOS 2 开始就作为 App 内展示 Web 内容的容器
  2. 排版布局能力强

2、不足

  1. 内存泄露
  2. 极高内存峰值
  3. Touch Delay(300ms延迟)
  4. JavaScript 的运行性能和通信限制
  5. 2018年 iOS 12 以后已经被标记为 Deprecated 不再维护

二、iOS WKWebView

1、优势

  1. 苹果在 WWDC 2014 上推出的新一代 WebView 组件
  2. WKWebView 的内存开销比 UIWebView 小很多
  3. 在性能、稳定性、占用内存方面有很大提升
  4. 高达 60fps 的滚动刷新率
  5. 自身就支持了右滑返回手势
  6. 支持了更多的 HTML 的属性:
  7. 内存占用是 UIWebView 的1/4~1/3
  8. 加载速度比 UIWebView 提升了一倍左右
  9. 更为细致地拆分了 UIWebViewDelegate 中的方法
  10. 允许 JavaScript 的 Nitro 库加载并使用( UIWebView 中限制)大大提高了页面 JS 执行速度。
  11. 可以和 JS 直接互调函数,不像 UIWebView 需要第三方库WebViewJavaScriptBridge来协助处理和 JS 的交互。

2、不足

  1. 不支持页面缓存,需要自己注入 Cookie,而 UIWebView 是自动注入 Cookie。
  2. 无法发送 POST参数问题

三、Android WebKit 和 Chromium

在这里插入图片描述

四、Android 第三方

1、X5 内核

  1. 速度快:相比系统 WebView 的网页打开速度有 30+%的提升
  2. 省流量:使用云端优化技术使流量节省 20+%
  3. 更安全:安全问题可以在 24 小时内修复
  4. 更稳定:经过亿级用户的使用考验,CRASHE 率低于 0.15%
  5. 兼容好:无系统内核的碎片化问题,更少的兼容性问题
  6. 体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能
  7. 功能全:在 H5、ES6 上有更完整支持
  8. 更强大:集成强大的视频播放器,支持视频格式远多于系统 WebView
  9. 视频和文件格式的支持 X5 内核多于系统内核
  10. 防劫持是 X5 内核的一大亮点

五、选型建议

  • iOS:WKWebView
  • Android:X5

写在最后

如果你感觉文章不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!

老__L
关注 关注
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
iOS8 WebKit库之——WKWebView
richard_如风的专栏
07-04 1万+
apple和google为webkit该浏览器引擎的发扬光大做出了重要贡献,在WWDC 2014发布会上发布iOS 8中,apple公布了WebKit框架,这意味着OSX和IOS开发者将共用同样的开发库,新改变可以提高开发者编写的代码的重复使用性。 webkit使用WKWebView来代替IOS的UIWebView和OSX的WebView,并且使用Nitro JavaScript引擎,这意味着所
腾讯内核webview
07-24
腾讯浏览器(TBS),下载直接运行,比Android原生的好用,杜绝各手机厂商修改系统webview引发的各种BUG
Android Studio】Webview 内核升级得三种方法
最新发布
weixin_48618536的博客
08-08 1823
在APP 中进行网页加载,一般采用原生自带的Webview 组件,但在需要加载高版本网页的时候,有时候会遇到加载失败的情况,究其原因主要是内核版本太低,导致加载失败。该组件使用的内核Android 4.4 (API 19)前 ,主要用得是webkit 的内核Android 4.4后,直接使用的是Chrome内核。目前Chrome内核已经到了120+,时常会遇到问题,谷歌浏览器可以正常加载网页,但内嵌网页加载就是不行。因此,基于这种情况,考虑进行Webview 组件内核的升级。
浏览器内核webview内核
weixin_30888413的博客
08-05 3618
1:webview 使用的是手机自带的浏览器内核 不同的手机,出于各种目的,会对自己的浏览器内核进行修改, 而不是用Android原生的浏览器, 所以在web的现实上也会有差异的。应该通过写更加标准通用的js方法来增加兼容性。 2:国内现状多数手机浏览器都基于Webkit开发 目前国内手机浏览器厂商宣称的“自主内核”如UC的U3内核、手机QQ浏览器的X5内核以及华为天天的T9...
基于Chromium内核Android WebView
程序圆—脱颖而出,卓尔不群
01-25 3055
以下文件参考文献: http://blog.csdn.net/milado_nju/article/details/8926720 1.      http://developer.android.com/reference/android/webkit/WebView.html 2.      http://www.chromium.org/developers/d
Android webview内核设置
weixin_42707424的博客
06-08 2822
Android 中,WebView是一个基于WebKit的控件,用于在应用程序中显示网页内容。WebView使用的内核可以是系统默认的内核,也可以是自定义的内核。参考资料:https://developer.android.com/guide/webapps/migrating-webview。// 自定义WebChromeClient,实现页面加载进度的回调。
Android_WebView、Webkit内核深入讲解
05-26
当你觉得对webview结构不熟悉的话,可以看看这个
Android WebView 优化之路
01-04
2、Android版本不同,采用了不同的内核,兼容性crash 3、不同版本实现不同,甚至URI不规范也会引起不同程度的问题 为了解决以上问题,我们把WebView模块做成独立进程 WebView独立进程 Android允许一个app同时存在...
View_WebView:在 Android 中使用视图 WebView
06-22
8. **优化性能**:为了提高加载速度和减少内存消耗,可以开启硬件加速、使用缓存策略,以及根据需要调整其他设置。 ```java webView.setLayerType(View.LAYER_TYPE_HARDWARE, null); // 开启硬件加速 webView....
android-webview:android webview 演示
07-11
1. 性能优化:由于WebView可能会消耗大量内存和CPU,因此在不使用时应释放资源,避免内存泄漏。 2. 安全更新:保持WebView组件更新至最新版本,以获取最新的安全补丁和性能提升。 这个“android-webview-master”...
WebView替换内核适配优化之腾讯X5
qq_43203586的博客
08-09 3535
WebView替换内核适配优化之腾讯X5 Android原生的webview在对H5的支持并不是很好。而且自从Android 4.4之后,默认的浏览器内核从WebKit转化为chromium,因此适配什么的会遇到很多瓶颈。 目前可选用的内核又两种,一个是腾讯的X5,一个是crosswalk。这次采用X5,相比crosswalk,x5接入速度快且占有体积不大(crosswalk会导致安装包多20m左右) 1. 接入 详情请见: https://x5.tencent.com/docs/access.html 我
webview 封装。腾讯X5内核分装。
05-07
webview 封装。腾讯X5内核分装。详细源码。 项目截图。
ios-封装UIWebVIew和WKWebView优化webview性能.zip
07-11
ZLCWebView github:https://github.com/lczhai/ZLCWebView //若有帮助,帮点下star 将UIWebVIew和WKWebView封装到一起,当系统版本大于8.0时候选择WKWebView降低性能消耗,当小于8.0时候使用UIWebView进行加载 1、将项目中的根目录中的“ZLCWebView源文件”中的ZLCWebView.h及m拖入工程(或直接在项目中拖出) 2、在自己的目标视图加载即可 //在目标视图内初始化ZLCWebView ZLCWebView *my = [[ZLCWebView alloc]initWithFrame:self.view.bounds]; [my loadURLString:@"http://www.baidu.com"]; my.delegate = self; [self.view addSubview:my]; //让视图遵守ZLCWebView的delegate并实现ZLCWebView的delegate - (void)zlcwebViewDidStartLoad:(ZLCWebView *)webview { NSLog(@"页面开始加载"); } - (void)zlcwebView:(ZLCWebView *)webview shouldStartLoadWithURL:(NSURL *)URL { NSLog(@"截取到URL:%@",URL); } - (void)zlcwebView:(ZLCWebView *)webview didFinishLoadingURL:(NSURL *)URL { NSLog(@"页面加载完成"); } - (void)zlcwebView:(ZLCWebView *)webview didFailToLoadURL:(NSURL *)URL error:(NSError *)error { NSLog(@"加载出现错误"); }
Android WebView内核版本的探究
亦然莹儿的博客
12-16 1万+
因公司的很多项目都是Android和html5混合开发,会有很多页面的方法需要兼容。需要知道当前Android webview内核是什么。 1. 介绍 Android WebView选择有三种方案,分别是 使用Android系统自带的WebView 使用X5内核WebView 使用基于chrome webkit的crosswalk WebView 如上述三种方案,第1个是最原始的解决方案,第2,3个则分别是腾讯,corsswalk的解决方案 几种方案的对照如下表: 方案 方案说明
android webView 内核对比
热门推荐
w2ndong的专栏
07-04 2万+
现在的移动开发,一个明显的趋势是HTML占据了越来越重要的位置,H5不再是简单的一个浏览网页的行为,在非常多的APP中,它承担了许多原本许要原生开发的功能;Android的H5支持则是个比较头痛的事情 笔者在进行IOS开发时,WebView从来都不是问题,在IOS上不仅WebView统一,而且性能极佳,也很少需要考虑兼容性问题; 但这个问题在Android上则表现的非常不一样,由于机...
查看Android系统默认WebView浏览器内核版本
冰雪世界
04-11 3589
首先了解2个概念: 1.Android系统默认WebView浏览器内核版本:是指Android的app中如果直接使用WebView组件加载网页的话,所使用的浏览器内核。这个浏览器来源于Android系统,app端无法修改。 2.系统内置的浏览器应用的内核版本:是指Android系统中内置的名叫"浏览器"的app中所使用的浏览器内核。而这个"浏览器"app虽然是系统内置的,但是其本质上跟用户自己安装的app没有太大区别。所以此app可能使用了自定义的浏览器,所以其与系统默认浏览器内核版本可能不同。 了解了上
旧项目替换 WebView 内核解决兼容性问题
sunsteam的博客
07-27 3817
背景 公司的某个硬件设备项目使用的是 Android 4.4 的系统, WebView 内核 chrome 33.0, 其中有个使用 WebView 浏览外部网页的模块, 随着网站的更新, 出现了不兼容的语法导致无法播放网页中的视频,因此考虑用引入新内核的方式做个修复。 方案比较 比较完善的浏览器内核方案有 2 种,Crosswalk 和 TBS 腾讯浏览服务 Crosswalk TBS...
【干货】Android系统定制基础篇:第十一部分(更新WebView内核版本、Android8.1向下兼容静态广播、授予普通应用系统签名权限、应用安装时授予全部动态权限)
工宗浩生财指南针
06-19 6979
Android 将权限分为三类,一类是 Normal Permissions(普通权限),这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是 Dangerous Permission(危险权限),一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等;Android 6.0 以上应用(即应用开发时指定 『TargetSDK > 22』 时)运行在 Android 6.0 以上系统时,隐私权限需要动态申请,只有用户同意授权,才能继续使用。
【iOS】WKWebView相比于UIWebView浏览器之间内核引擎的区别
Hanrovey Blog
05-28 1189
转载: WKWebView相比于UIWebView浏览器之间内核引擎的区别
android开发腾讯webview优化,腾讯X5内核 WebView 实践总结
05-25
腾讯X5内核WebView是一款基于Chromium内核的浏览器内核,相比于原生WebView,具有更好的性能和稳定性。以下是一些优化实践总结: 1. 集成腾讯X5内核 在使用WebView时,可以使用腾讯提供的X5内核替代原生内核。在集成X5内核时,需要在build.gradle文件中添加依赖: ``` dependencies { implementation 'com.tencent.tbs.tbssdk:sdk:43697' } ``` 2. 预加载 使用X5内核时,可以通过预加载提高WebView的响应速度。可以在应用启动时预加载X5内核: ``` // 在Application的onCreate方法中 QbSdk.initX5Environment(context, null) ``` 3. 启用多进程 如果应用中使用了多个WebView,可以启用多进程来提高性能和稳定性。可以在AndroidManifest.xml文件中设置: ``` <application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:process=":webview"> ``` 4. 启用硬件加速 在使用X5内核时,可以启用硬件加速来提高渲染速度。可以在布局文件中设置: ``` <com.tencent.smtt.sdk.WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" android:layerType="hardware" /> ``` 5. 使用缓存 使用缓存可以减少网络请求,提高WebView的加载速度。可以在初始化WebView时设置: ``` val webSettings = webView.settings webSettings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK ``` 以上是一些常见的优化实践总结,可以根据具体的场景进行调整和优化。
写文章

热门文章

  • Vue系列之插槽(slot)详解 47599
  • 正则系列之手机号码正则 40789
  • 『HTML系列』多媒体视频标签 video 34919
  • 『HTML系列』图像标签 img 34399
  • Git系列之设置邮箱和用户名 32439

分类专栏

  • CSS 2篇
  • HTML 14篇

最新评论

  • wangEditor系列之工具栏配置

    AAAAAREAL??: group-video,用这个key

  • wangEditor系列之内容处理

    weixin_39321309: 请问能清空历史记录吗?我用的版本是 4.7.15

  • VSCode好用的插件

    2301_81424861: node.js代码提示有什么插件吗

  • wangEditor系列之工具栏配置

    苏州薛之谦: 解决了吗 好兄弟

  • 『HTML系列』列表标签

    老__L: Vue的Diff算法是虚拟DOM技术的核心,它用于高效地比对虚拟DOM树的差异,并将这些差异应用到真实的DOM上。这使得Vue可以在数据变化时,有效地更新DOM,而不是每次都重新渲染整个视图。 在非Vue环境下,Diff算法可以被用来进行任何需要比对和更新DOM结构的场景。例如,在React环境中,当组件的props或state更新时,React的虚拟DOM会进行Diff比对,并最小化地更新DOM以匹配最新的虚拟DOM树。 简单来说,Diff算法的核心是比较两个树形结构的差异,并将这些差异应用到另一个树上。在前端开发中,你可以手动实现这样的算法来比对和更新DOM,或者使用现有的库,如React中的React DOM或Vue中的snabbdom。

大家在看

  • Python中使用Seaborn绘制数据分布图的实用指南
  • 基于大数据+爬虫+数据可视化+SpringBoot+Vue的母婴护理智慧管理与可视化系统设计和实现(源码+LW+部署讲解) 868
  • C++使用Socket编程实现一个简单的HTTP服务器 419
  • 群晖套娃:群晖+飞牛fnOS二合一,群晖nas安装飞牛fnOS系统实录(飞牛fnOS初体验,如何挂载网盘视频,轻松实现影视刮削)
  • 分治算法专题(一)——快速排序之【三路划分】/归并排序 926

最新文章

  • 『微前端系列』微前端概述及qiankun简介
  • 『Vue3系列』如何进行全局异常捕获
  • Vue系列之指令 v-bind
2024年2篇
2023年91篇
2022年418篇
2021年24篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老__L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家三明玻璃钢人物雕塑厂家湛江信誉好的玻璃钢雕塑呈贡玻璃钢烤漆雕塑厂家青岛商场美陈玻璃钢卡通雕塑嘉兴创意玻璃钢雕塑制作焦作商场美陈东莞 玻璃钢花盆厂南京玻璃钢龙雕塑设计景观校园玻璃钢景观雕塑小品中山定制玻璃钢人物雕塑花溪区玻璃钢雕塑四川商场美陈销售和田气球商场美陈装饰费用多少山西玻璃钢小品景观雕塑黔西南玻璃钢景观雕塑栩栩如生户外绿地玻璃钢卡通雕塑设计广东酒店玻璃钢雕塑工厂江苏专业玻璃钢雕塑性价比高玻璃钢雕塑高清太原景观玻璃钢雕塑哪家便宜内蒙古玻璃钢卡通雕塑小型玻璃钢花盆报价盐田玻璃钢卡通雕塑上海市玻璃钢雕塑哪家好玻璃钢波点南瓜雕塑宿州抽象玻璃钢雕塑定做价格江川区玻璃钢雕塑代理温州大型玻璃钢雕塑上海超市商场美陈生产绍兴玻璃钢雕塑摆件设计企业香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化