介绍

腾讯浏览服务由QQ浏览器团队出品,致力于优化移动端【webview】体验的整套解决方案,使用QQ浏览器X5内核SDK和X5云端服务,解决移动端webview使用过程中出现的一切问题,优化用户的浏览体验,同时腾讯还将持续提供后续的更新和优化,为开发者提供最新最优秀的功能和服务。
 
X5SDK是通过调用【微信/手机QQ/空间】的X5内核,解决系统webview兼容性差、加载速度慢、功能缺陷等问题,开发接入便捷,大小只有253K,仅需几行代码,即可解决一切令开发者们头疼的问题,为用户提供最优秀的浏览体验。
 
同时,QQ浏览器团队还将持续更新和优化X5内核,持续优化功能,并保证兼容各种web新特性。
 
其相对于系统webview,具有下述明显优势:
1) 速度快:相比系统webView的网页加载速度有近30%的提升。
2) 省流量:云端优化技术使流量节省20%
3) 更安全:24小时安全问题解决机制
4) 更稳定:经过亿级用户的使用考验,CRASH率0.15%
5) 集成强大的视频播放器,支持各种视频格式直接打开
6) 适屏排版、字体设置等浏览增强功能的提供
7) Html5更完整支持。
8) 无系统内核的碎片化问题,更少的兼容性问题
X5云端服务是通过云端技术保证用户在未装QQ浏览器的情况下同样可以使用X5内核提供的优秀服务,包括云加速、云安全、云转换三大功能。云加速是通过首屏加速、智能路由、图片压缩等技术保障网页浏览的快、省、悦;云安全是通过URL安全检测、JS黑名单管理、负载监控等保障网页浏览的安全稳定;云转换是使用URL聚合+XPATH的解决方案,解决移动阅读难题。

运行环境
1)手机ROM版本高于或等于2.2版本
2)手机RAM大于500M,该RAM值通过手机 /proc/meminfo 文件的MemTotal动态获取
注:如果不满足上述条件,SDK会自动切换到系统WebView,SDK使用者不用关心该切换过程。

辨别是否使用x5webview的方法:
显示网页文字时,可通过长按选择文字的标识判断,如下水滴状选择效果是x5webview 的标志:

接入文档

1、下载X5内核jar包,复制到工程的libs目录下。

2、将源码和XML里的系统包和类替换为SDK里的包和类,具体对应如下:
系统内核SDK内核
android.webkit.ConsoleMessage        com.tencent.smtt.export.external.interfaces.ConsoleMessage
android.webkit.CacheManager        com.tencent.smtt.sdk.CacheManager(deprecated)
android.webkit.CookieManager        com.tencent.smtt.sdk.CookieManager
android.webkit.CookieSyncManager        com.tencent.smtt.sdk.CookieSyncManager
android.webkit.CustomViewCallback        com.tencent.smtt.export.external.interfaces.IX5WebChromeClient.CustomViewCallback
android.webkit.DownloadListener        com.tencent.smtt.sdk.DownloadListener
android.webkit.GeolocationPermissions        com.tencent.smtt.export.external.interfaces.GeolocationPermissionsCallback
android.webkit.HttpAuthHandler        com.tencent.smtt.export.external.interfaces.HttpAuthHandler
android.webkit.JsPromptResult        com.tencent.smtt.export.external.interfaces.JsPromptResult
android.webkit.JsResult        com.tencent.smtt.export.external.interfaces.JsResult
android.webkit.SslErrorHandler        com.tencent.smtt.export.external.interfaces.SslErrorHandler
android.webkit.ValueCallback        com.tencent.smtt.sdk.ValueCallback
android.webkit.WebBackForwardList        com.tencent.smtt.sdk.WebBackForwardList
android.webkit.WebChromeClient        com.tencent.smtt.sdk.WebChromeClient
android.webkit.WebHistoryItem        com.tencent.smtt.sdk.WebHistoryItem
android.webkit.WebIconDatabase        com.tencent.smtt.sdk.WebIconDatabase
android.webkit.WebResourceResponse        com.tencent.smtt.export.external.interfaces.WebResourceResponse
android.webkit.WebSettings        com.tencent.smtt.sdk.WebSettings
android.webkit.WebSettings.LayoutAlgorithm        com.tencent.smtt.sdk.WebSettings.LayoutAlgorithm
android.webkit.WebStorage        com.tencent.smtt.sdk.WebStorage
android.webkit.WebView        com.tencent.smtt.sdk.WebView
android.webkit.WebViewClient        com.tencent.smtt.sdk.WebViewClient

布局xml里的WebView替换为 com.tencent.smtt.sdk.WebView

3、权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

4、其他一大堆的不太常用的东西请看官网

测试Activity

public class MainActivity extends ListActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String[] array = { "普通网页", "动画", "视频", "视频,美人鱼", "福利金融,安全保障", "福利金融,理财学院", "福利金融,介绍", };
        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new ArrayList<String>(Arrays.asList(array))));
    }
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        switch (position) {
        case 0:
            X5WebViewActivity.launche(this, "普通网页", "http://www.cnblogs.com/baiqiantao/");
            break;
        case 1:
            X5WebViewActivity.launche(this, "动画", "http://thewebrocks.com/demos/cubes/");
            break;
        case 2:
            X5WebViewActivity.launche(this, "视频", "http://www.w3school.com.cn/tiy/t.asp?f=html5_av_met_play_pause");
            break;
        case 3:
            X5WebViewActivity.launche(this, "视频,美人鱼", "http://v.qq.com/cover/x/xg95sxi4q7zc4uo.html");
            break;
        case 4:
            X5WebViewActivity.launche(this, "福利金融,安全保障", "http://wap.100cb.cn/static/security.html");
            break;
        case 5:
            X5WebViewActivity.launche(this, "福利金融,理财学院", "http://fulijinrong.kuaizhan.com/58/36/p32451810370302");
            break;
        case 6:
            X5WebViewActivity.launche(this, "福利金融,介绍", "http://wap.flh001.com/static/1minute/index.html");
            break;
        }
    }
}

附件列表

X5SDK 腾讯浏览器内核的更多相关文章

  1. android 腾讯x5内核 浏览器

    1.浏览器内核: 主流浏览器内核介绍(前端开发值得了解的浏览器内核历史) 浏览器内核历史介绍: 在android 4.4之前,浏览器用的还是webkit 在android 4.4之后,google就抛 ...

  2. 静态集成腾讯TBS X5内核WebView,从微信提取新版30M浏览器内核打包进apk

    目录 前情提要 第一步:下载老版本SDK得到jar 获取SDK 集成SDK 步骤二.下载提取最新TBS X5内核 方法1:从微信中提取 方法2:App内内访问tbs调试页安装新内核 步骤三.集成内核到 ...

  3. 几大主流浏览器内核(Rendering Engine)

    "浏览器内核",英文为"Rendering Engine",也叫"渲染引擎",作用是帮助浏览器来渲染网页的内容,将页面内容和排版代码转换为用 ...

  4. 各大浏览器内核介绍(Rendering Engine)

    在介绍各大浏览器的内核之前,我们先来了解一下什么是浏览器内核. 所谓浏览器内核就是指浏览器最重要或者说核心的部分"Rendering Engine",译为"渲染引擎&qu ...

  5. CSS3动画处理浏览器内核时候前缀(兼容性)

    Gecko内核   css前缀为"-moz-" 火狐浏览器 WebKit内核 css前缀为"-webkit-"    Comodo Drangon(科摩多龙), ...

  6. css3中-moz、-ms、-webkit,-o分别代表的意思,以及微信浏览器内核分析

    这种方式在业界上统称:识别码.前缀 //-ms代表[ie]内核识别码 //-moz代表火狐[firefox]内核识别码 //-webkit代表谷歌[chrome]/苹果[safari]内核识别码 // ...

  7. 浏览器内核与js引擎

    摘要: 面试一个大公司的时候问到了一个问题,让我谈谈主要的浏览器内核以及他们的特点,当时并没有详细的回答,回来之后自己在网上找了找资料,总结了下分享给大家. 简介: 在维基百科上是这样介绍浏览器内核的 ...

  8. <转>浏览器内核分类

    浏览器的种类成千上百,但所基于的内核,却没有几个.目前主流的浏览器内核主要为以下四种: 一.Trident内核,代表产品Internet Explorer说起Trident,很多人都会感到陌生,但提起 ...

  9. 浏览器内核-Webkit

    关键字:浏览器内核,浏览器引擎,Browser,Webkit,Blink,Chromium. 本文简单介绍一下各种浏览器内核.着种介绍一下Webkit.顾名思义,浏览器内核就是浏览器的核心部分,也可以 ...

随机推荐

  1. 【USACO 1.4.4】母亲的牛奶

    [题目描述]  农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数, 最初,A和B桶都是空的,而C桶是装满牛奶的.有时,约翰把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原 ...

  2. nodejs新手教程中upload file的问题

    可参见: http://cnodejs.org/topic/50234890f767cc9a51f88481 request.setEncoding("utf8");应注释掉.

  3. 解决Mac上Android开发时adb连接不到手机问题

    今天在Mac OS上进行Android开发的时候,打开eclipse连接不到手机MX4问题 1. 插入手机打开 Terminal,输入 system_profiler  SPUSBDataType 2 ...

  4. Zsh安装CMake补全脚本进行CMake命令补全

    最近在尝试使用Zsh,发现其补全命令的功能相当厉害.但对CMake命令的补全在默认的5.0.5中好像没有看到,网上找了下关于配置Zsh补全的文章也没有多少.     于是自己动手,发现在Zsh安装目录 ...

  5. C++11中int,float,double与string的转化

    在C++11中可以使用std::to_string()函数将数值转换为string格式,十分方便. 以下部分来选自cplusplus.com. std::to_string string to_str ...

  6. 1 Two Sum(找和为target的两个数字下标Medium)

    题目意思:给一个数组,找到和为target的两个元素的序号,并且只有一组这样的元素 思路:map<int,int>(nums[i],i+1),然后从后往前循环,用count找,比较i+1 ...

  7. spring 入门笔记(一)

    最近学习spring 通过笔记形式加深自己对spring的理解,也希望能跟各位入门者分享和讨论. 一.下载spring 下载spring也费了不少功夫,目前还没从spring官网找到下载入口,我从下面 ...

  8. 《asp.net mvc3 高级编程》第三章 视图

    一.视图的作用 视图的职责是向用户提供界面.从ASP.NET MVC3开始,视图数据也可以通过ViewBag属性访问.例如:ViewBag.Message 就等于ViewData["Mess ...

  9. javascript 字符串滚动显示

    <html> <head> <script type="text/javascript"> var chars = "JavaScri ...

  10. 如何把powerpoint幻灯片大小改为标准或宽屏教程【图文】

    不知道大家还记得早期powerpoint版本,幻灯片的形状是较方(4:3),随着科技的发展,很多电视.视频都在用宽屏,powerpoint自然也是如此,现在默认的幻灯片大小是宽屏 (16:9),怎么把 ...