优化Webview加载速度 TBS(腾讯浏览服务X5内核) | VasSonic(提升H5首屏加载速度)

2023-05-16

  1. 浏览增强
    传统系统内核(Webview)存在适配成本高、不安全、不稳定、耗流量、速度慢、视频播放差、文件能力差等问题,这是移动应用开发商在进行Hybrid App开发时普遍面临的难题。腾讯浏览服务基于腾讯X5内核解决方案(包括内核和云服务),能够有效解决传统移动web技术面临的普遍问题,同时能极大扩展应用(Hybrid App)内浏览场景的服务能力。
    这里写图片描述
  2. 安全
    腾讯浏览服务为应用浏览场景提供完善的安全保障体系,包括:云安全方案:保障数据安全,防恶意劫持(DNS劫持, HTTP劫持等),防恶意网址,防恶意文件下载等;端安全方案:及时解决系统内核无法解决的各类风险和漏洞,支持热修复,24小时安全问题解决机制。
  3. 极速,省流
    腾讯浏览服务在云端对网页及资源流进行压缩,在终端优化网页加载全流程。基于腾讯浏览服务,流量消耗普遍可减少20%~40%,网页加载速度平均可提升35%。

TBS腾讯浏览服务

TBS(腾讯浏览服务)的优势

1) 速度快:相比系统webview的网页打开速度有30+%的提升;

2) 省流量:使用云端优化技术使流量节省20+%;

3) 更安全:安全问题可以在24小时内修复;

4) 更稳定:经过亿级用户的使用考验,CRASH率低于0.15%;

5) 兼容好:无系统内核的碎片化问题,更少的兼容性问题;

6) 体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;

7) 功能全:在Html5、ES6上有更完整支持;

8) 更强大:集成强大的视频播放器,支持视频格式远多于系统webview;

9) 视频和文件格式的支持x5内核多于系统内核

10) 防劫持是x5内核的一大亮点


关于如何接入sdk,这里就不详述了, 详见TBS接入指南

将源码和XML里的系统包和类替换为SDK里的包和类,具体对应如下:
这里写图片描述
这里写图片描述
这里写图片描述
这里主要讲替换成TBS后的一些语法不支持的解决办法:

1.如果webview 用到了JavascriptInterface :
例  webview.addJavascriptInterface(new JavaScriptWebview(this), "xxxxxx");
请还是继续使用系统包下的JavascriptInterface
import android.webkit.JavascriptInterface;

2.解决https与http混加载问题
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
      webview.getSettings().setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
请还是继续使用系统包下的WebSettings.MIXED_CONTENT_ALWAYS_ALLOW

再介绍一下 Tencent开源的VasSonic
这里写图片描述
见github链接Tencent/VasSonic
以上2者组合使用,效果更佳哦。


注:再提一小点`webview.getSettings().setBlockNetworkImage(xx);` 
建议先用webView.getSettings().setBlockNetworkImage(true); 
网页在加载的时候将图片下载阻塞,然后在浏览器的onProgressChanged事件中设置webView.getSettings().setBlockNetworkImage(false);
通过图片的延迟载入,让网页能更快地显示。
new WebChromeClient() {
    @Override
     public void onProgressChanged(WebView view, int progress) {
     if (progress == 100) {
        webview.getSettings().setBlockNetworkImage(false);
     }
   }
}

最后也建议Web前端工程师改进一下,使用懒加载js脚本,这样整体效率会提升很多
javascript_lazy_loading_with_lazyload

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

优化Webview加载速度 TBS(腾讯浏览服务X5内核) | VasSonic(提升H5首屏加载速度) 的相关文章

  • Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)

    缘起 今年 2023年 2月的时候做了个适配Amazon S3对象存储接口的需求 xff0c 由于4月份自学考试临近 xff0c 一直在备考就拖着没总结记录下 xff0c 开发联调过程中也出现过一些奇葩的问题 xff0c 最近人刚从考试缓过
  • 【问题解决】RabbitMQ启动出现epmd error for host xx.xx: nxdomain (non-existing domain)

    问题描述 k8s 或 普通容器 或 Linux 部署的RabbitMQ启动时出现了 epmd error for host xx xx nxdomain non existing domain 错误 xff0c MQ无法启动成功 其中 xx
  • MapReduce的编程开发——排序

    文章目录 前言一 启动Hadoop二 环境搭配三 普通排序实验四 二次排序实验五 倒序索引实验总结 前言 本文主要是学习MapReduce的学习笔记 xff0c 对所学内容进行记录 实验环境 xff1a 1 Linux Ubuntu 16
  • 【问题解决】Kafka报错 Bootstrap broker x.x.x.x:9092 (id: -1 rack: null) disconnected

    问题复现 近日针对某一客户需求开发了一个需要使用Kafka的功能 xff0c 功能是什么暂且不论 xff0c 在本地虚机的Kafka连接一切正常遂放到测试服务器上验证功能 xff0c 以下是监听topic成功和警告报错 xff1a span
  • Ubuntu14.10登录界面隐藏其他用户登录窗口

    上次装完MySQL后每次开机登录界面都会有一个mysql用户登录框在管理员用户下边 感觉很碍眼 记得上次在安装MySQL时就屏蔽了mysql用户登录 xff0c 可为何还会在登录界面显示 比较纳闷了 在网上找很多方法都没有用 感觉千篇一律
  • Hadoop64位版本安装后遇到的警告处理

    在使用hadoop的过程中 xff0c 会遇到一个警告 xff0c 内容如下 xff1a WARN util NativeCodeLoader Unable to load native hadoop library for your pl
  • 【MFC基础教程】MFC 中常用类,宏,函数介绍

    一 常用类 CRect xff1a 用来表示矩形的类 xff0c 拥有四个成员变量 xff1a top left bottom right 分别表是左上角和右下角的坐 标 可以通过以下的方法构造 xff1a CRect int l int
  • 从cas-overlay-template安装apereo cas 6.1.x并连接CAS客户端

    一 什么是单点登录 简单点说 单点登录的英文名称为Single Sign On xff0c 简写为SSO xff0c 它是一个用户认证的过程 xff0c 允许用户一次性进行认证之后 xff0c 就访问系统中不同的应用 xff1b 而不需要访
  • linux教程:[4]配置Tomcat开机启动

    我们在linux下安装好tomcat之后 xff1b 经常是需要配置到开机启动的 xff1b 这样的话就不需要我们每次重启linux服务器之后自己在登陆运行startup sh文件启动tomcat了 本次的演示环境是在centos7中完成的
  • 用word2016 写CSDN 博客

    在word2016 中 点击文件 61 gt 共享 61 gt 发布至博客 下面点击 立即注册 在这个里面 选择其他 xff0c xff08 这里我说的是 CSDN 博客 xff09 http write blog csdn net xml
  • 详解cocos2d帧率FPS

    详解cocos2d帧率FPS 最近在使用coco2d js写一个游戏的时候 需要将帧率实时显示出来 于是搜索了一下 获得FPS有下面几个方法 cc director getAnimationInterval cc director getS
  • Eclipse本地运行与远程提交MapReduce程序的步骤详解

    1 下载eclipse插件 此插件只是方便我们在eclipse上查看hdfs集群上的数据而已 1 1 下载对应版本的 hadoop eclipse plugin XXX jar 并将其复制到eclipse下的plugin的目录下 xff0c
  • sagalbot/vue-select 选中元素变动事件(:on-change 踩坑)

    文章目录 场景分析方案 amp amp 遇到的坑源码 场景 需要根据选中元素为依赖获取一个计算属性 array 此时computed不能满足 分析 官方文档的介绍 An optional callback function that is
  • 客户需求VS最终软件交付

    客户起初要求的样子 xff0c 和最终项目交付时的样子 xff0c 非常真实 你永远不知道开发过程中 有哪些或深或浅 xff0c 或近或远的弯弯绕绕在等着你 回复 干货 获取精选干货视频教程 回复 加群 加入疑难问题攻坚交流群 回复 mat
  • mapreduce python编程实例

    mapreduce python编程实例 1 mapreduce使用python WordCount实例 1 1 mapper函数使用 vi mapper py usr bin python coding utf 8 Filename ma
  • Centos7安装KVM虚拟化

    Centos7安装部署KVM 一 配置网桥 1 备份原来的配置文件2 修改配置文件a 修改已连接的网卡配置文件 以ifcfg eno1为例 b 配置网桥配置文件 xff08 以ifcfg br0为例 xff09 c 重启网卡 xff08 建
  • Nanopi M4 基于Opencv 打开USB摄像头

    一 环境选择 首次使用Nanopi M4 ARM板 xff0c 最初加载的是官方给的rk3399 sd friendlydesktop bionic 4 4 arm64 20190523 img xff0c 但我最终放弃使用该系统 xff0
  • “学C语言计划”后续

    从上一篇日记 学C语言计划 到现在已经过去了一个季节了 季节翻页 xff0c 而我菜鸟依旧 xff01 连大自然节奏都跟不上 xff0c 这真是要作死的节奏啊 几天前 xff0c 考完了高数和C语言 xff0c 顺便 玩完 了 后天要考英语
  • 解决KEIL中ARM编译器不能编译的问题

    keil编译器出现问题 xff0c 根据提示意思就是ARM编译器选择不对的问题 Target 39 Printf 39 uses ARM Compiler 39 V5 06 update 6 build 750 39 which is no
  • C++ ZeroMQ 发布订阅模式例子跟注意事项

    发布订阅模式 接收端 xff1a void context void subscriber 第一步 xff1a zmq ctx new 创建context对象 context 61 zmq ctx new 第二步 xff1a 创建socke

随机推荐

  • 目标检测算法——anchor free

    一 anchor free 概述 1 先要知道anchor 是什么 xff08 这需要先了解二阶段如faster rcnn xff0c 一阶检测器如YOLO V2以后或SSD等 xff09 在过去 xff0c 目标检测通常被建模为对候选框的
  • 度量学习(Metric learning)—— 基于分类损失函数(softmax、交叉熵、cosface、arcface)

    概述 首先 xff0c 我们把loss归为两类 xff1a 一类是本篇讲述的基于softmax的 xff0c 一类是基于pair对的 xff08 如对比损失 三元损失等 xff09 基于pair对的 xff0c 参考我的另一篇博客 xff1
  • Oauth2知识总结

    官网 xff1a OAuth Community Site OAuth是一个关于授权 xff08 authorization xff09 的开放网络工业标准 xff0c 允许用户授权第三方应用访问用户存储在其它应用上的信息 xff0c 而不
  • 重构技巧之策略模式优化业务代码

    重构技巧之策略模式优化业务代码 策略模式对业务代码进行重构背景分析 在日常的开发过程中 xff0c 我们肯定会遇到很多if else或者switch case的业务代码 xff0c 作为维护这类代码的开发者来说 xff0c 分支太长 xff
  • 64位Ubuntu使用john破解密码的No password hashes loaded

    最近研究了一下Linux的密码破解 xff0c 因为正好在学习computer security 计算机信息安全 这门课 我在使用 john the ripper 的时候遇到了一个问题 No password hashes loaded 今
  • Java常量池详解之抓狂的面试题

    今天My partner问我一个让他头疼的Java question xff0c 求输出结果 xff1a 64 author DreamSea 2011 11 19 public class IntegerTest public stati
  • PC软件问题定位工具-windbg

    windbg工具使用 windbg是微软的工具 xff0c 可以从百度或微软官网获取 工具支持 xff1a 分析dmp文件 定位CPU 内存 崩溃等异常问题 代替VS调试C 43 43 程序 这里主要整理了收集或分析dmp文件的相关命令 x
  • Ubuntu18.04使用RealVNC进行远程桌面连接

    可以直接查看最新的 xff1a RealVNC Server Ubuntu 20 04 无显示器连接 虚拟显示器 捉不住的鼬鼠的足迹 CSDN博客 使用Linux服务器 xff0c 在一般情况下是不太用桌面环境的 不过现在我想着开发用Lin
  • CMakeLists.txt 详解

    目录 CMakeLists txt用例详解 xff08 WDS中的用例 xff09 CMakeLists txt作用 生成对象库OBJECT实例 xff08 wds libwds common CMakeLists txt xff09 生成
  • ubuntu16.10安装numpy, scipy, matplotlib

    在Python3 x中安装numpy sudo apt get span class hljs keyword install span python3 pip pip3 span class hljs keyword install sp
  • Linux进程状态分析

    最近在看APUE过程中 xff0c 遇到了一个有关于进程的 僵死进程 的状态 既然遇到了进程状态的问题 xff0c 索性就查了查 Linux内核设计与实现 xff0c 里面给出了5种状态 xff0c 分别是 TASK RUNNING TAS
  • IDEA自动生成Javadoc代码注释

    在日常写代码时往往不会注重注释的格式 规范等问题 xff0c 可能注释都不会写 xff0c 但是一旦代码完成后要交付他人 xff0c 就需要考虑注释的问题了 xff0c 因为重要函数 方法的注释往往对整个代码的阅读起着十分重要的作用 xff
  • VNC连接远程服务器

    记录探索之路 由于跑深度学习算法 xff0c 需要连接服务器 xff0c 以前都是利用XShell连接 xff0c 也比较好用 xff0c 但是没有界面 VNC可以展示界面 xff0c 更加清晰 xff0c 以下是探索的方法 1 下载软件
  • Linux文件权限管理命令学习

    你必须非常努力 xff0c 才能看起来毫不费力 xff01 微信搜索公众号 漫漫Coding路 xff0c 一起From Zero To Hero 前言 本篇文章主要讨论Linux中的文件权限管理命令 xff0c 包括更改文件权限 文件所有
  • App移动端测试-Fiddler工作场景总结

    文章目录 一 测试思路1 1App测试内容1 2APP功能测试思路 二 Fiddler测试环境配置2 1Fiddler PC配置2 2模拟器端配置2 3模拟器端代理设置 三 Fiddler测试工作应用场景3 1 Fiddler抓包辅助定位B
  • 当Linux配置zh_CN.UTF-8 ,中文还是显示乱码解决办法

    文章目录 一 出现问题的可能原因1 服务器没有安装zh CN UTF 8 字符集2 远程登录软件字符设置 这篇博客主要说明出现问题的原因和解决思路 一 出现问题的可能原因 1 服务器没有安装zh CN UTF 8 字符集 安装对应的软件包就
  • tar (child): lbzip2: Cannot exec: No such file or directory 解决方法

    tar child lbzip2 Cannot exec No such file or directory 解决方法 今天用tar命令解压文件的时候出错了 xff0c 信息如下 xff1a tar child lbzip2 Cannot
  • openstack newton Linuxbridge改ovs并配置dvr

    这几天一直在搞dvr xff0c 现在终于搞好了 网上的资料比较杂乱 xff0c 期间也一直在各种尝试 xff0c 步骤也很繁琐而且混乱 xff0c 坑比较多 xff0c 现在整理一下 官方安装文档从前几个版本开始在 配置网络的时候就由ov
  • Android jcenter bad gateway 502(Unable to load Maven meta-data from https://jcenter.bintray.com)

    今天在Android studio运行项目的时候报了如下错误 xff0c 项目都编译不过了 xff0c 顿时慌 这里附上gradle额下载地址 gradle Error Could not resolve all files for con
  • 优化Webview加载速度 TBS(腾讯浏览服务X5内核) | VasSonic(提升H5首屏加载速度)

    浏览增强 传统系统内核 Webview 存在适配成本高 不安全 不稳定 耗流量 速度慢 视频播放差 文件能力差等问题 xff0c 这是移动应用开发商在进行Hybrid App开发时普遍面临的难题 腾讯浏览服务基于腾讯X5内核解决方案 xff