webview是什么?作用是什么?和浏览器有什么关系?

Android系统中内置了一款高性能 webkit 内核浏览器,在 SDK 中封装为一个叫做 WebView 组件也就是说WebView是一个基于webkit引擎、可以解析DOM 元素展现web页面的控件,它和浏览器展示页面的原理是相同的所以可以把它当做浏览

器看待

WebView是用于展示网络请求后的结果,也就是将url网络请求的结果展示在里面。

Android的Webview在低版本和高版本采用了不同的webkit版本内核,Android4.4后直接使用了Chrome。

webview主要用于什么地方?或者说什么需求下会使用到webview?

个人理解,电脑上展示html页面,通过浏览器打开页面即可浏览,而手机系统层面,如果没有webview支持,是无法展示html页面,所以webview的作用即用于手机系统来展示html界面的

所以它主要在需要在手机系统上加载html文件时被需要

WebView的作用

  • 显示和渲染Web页面;

  • 直接使用html文件(网络上或本地assets中)作布局;

  • 可和JavaScript交互调用。

一个原生应用调用html页面的过程?

  • 原生应用加载html页面(加载页面的方式可能有多种,比如加载本地写好的html文件,或者放置在服务器的文件)

  • 加载完成,展示就是通过webview来渲染展示的,如果系统没有webview,则是无法渲染展示html的

  • 1、2步其实一个原生应用调用html页面过程已经完成了,那么页面不光展示,有时候可能还需要交互,这里的话就需要写一些方法了,比如html界面的按钮需要调用系统原生的东西(比如:拍照,系统的文件,相册之类的)。

     原生端就负责维护html调用的接口,然后按照需要返回(原生端充当一个server的角色,html充当一个client角色)

使用webview的好处?

原生APP是将页面的布局设计,以及业务代码打包然后用户下载安装使用,而webview是通过加载html文件来进行页面的展示,当需要更新页面布局的或者业务逻辑变更时,如果是原生的APP就需要修改前端内容,升级打包,重新发布才可

以使用最新的。而通过webview方式的页面则只需要修改html代码或者js文件(如果是从服务器端获取,只要新的文件部署完成),用户重新刷新就可以使用更新后的,无需通过下载安装的方式完成升级

安卓系统内置浏览器,自带浏览器?

内置浏览器和自带浏览器是一个概念?

国内手机的自带浏览器不是chrome,主要是版权的原因,自带的浏览器都是手机厂商基于国内主流的几大浏览器自己定制,然后发布在自己手机系统版本中.不过国内几大浏览器厂商如QQ浏览器,UC浏览器、都是基于webkit引擎的

iphone的自带浏览器是Safari,Safari浏览器的内核是webkit

APP webview展示的页面和通过手机浏览器打开的页面?

不管是ios还是安卓,自带浏览器底层都是基于webkit的,然后各自系统中均带有webview控件,也是基于webkit引擎,所以不管通过APP调用webview展示html页面还是通过在浏览器打开html页面,效果是一样的。

Android中的webview函数

WebView.loadUrl("http://www.ltplayer.com");// 加载url,也可以执行js函数

WebView.setWebViewClient(new SafeWebViewClient());// 设置 WebViewClient

WebView.setWebChromeClient(new SafeWebChromeClient());// 设置 WebChromeClient

WebView.onResume();

WebView.resumeTimers();

WebView.onPause();

WebView.pauseTimers();

WebView.stopLoading();// 停止当前加载

WebView.clearMatches();

WebView.canGoBack();

WebView.clearSslPreferences();

WebView.clearCache(true);方也会使用到。该方法接受一个参数,从命名即可看出作用。若设为false,则只清空内存里的资源缓存,而不清空磁盘里的。

WebView.loadUrl("about:blank");

WebView.removeAllViews();//

WebView.destroy();// 生命周期销毁

参考

WebView之基本使用

app中的webview通识篇(上)

webview的简单介绍

app中的webview通识篇(上)

客户端相关知识学习(五)之什么是webView的更多相关文章

  1. 客户端相关知识学习(十二)之iOS H5交互Webview实现localStorage数据存储

    前言 最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识 webView开启支持H5 LocalStorage存储 有些时候我们发现写的本地存储没有起作用,那是因为默认WebVie ...

  2. 客户端相关知识学习(十一)之Android H5交互Webview实现localStorage数据存储

    前言 最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识 webView开启支持H5 LocalStorage存储 有些时候我们发现写的本地存储没有起作用,那是因为默认WebVie ...

  3. 客户端相关知识学习(六)之deeplink技术

    Deeplink应用描述 Deeplink,简单讲,就是你在手机上点击一个链接之后,可以直接链接到app内部的某个页面,而不是app正常打开时显示的首页.不似web,一个链接就可以直接打开web的内页 ...

  4. 客户端相关知识学习(十)之app给h5传递数据

    方法一: app可以把参数传到h5的链接里,用类似?xx=xx&xx=xx的形式拼接,js解析参数即可. 方法二: 情况一:app调用h5 原生app都可以对js的function进行触发,前 ...

  5. 客户端相关知识学习(九)之h5给app传递数据

    方法一: 情况一: if (window.JdAndroid){          window.JdAndroid.setPayCompleted();          window.JdAndr ...

  6. 客户端相关知识学习(八)之Android“.9.png”

    参考 Android中.9图片的含义及制作教程 .9.png Android .9.png 的介绍

  7. 客户端相关知识学习(四)之H5页面如何嵌套到APP中

    Android原生如何渲染H5页面 Android与 H5 的交互方式大概有以下 1 种: 利用WebView进行交互(系统API) iOS原生如何渲染H5页面 iOS 与 H5 的交互方式大概有以下 ...

  8. 客户端相关知识学习(三)之Android原生与H5交互的实现

    Android原生与H5交互的实现 H5调用原生的方式 方式可能有多种,根据开发经验,接触过两种方式. 方法一:Android向H5注入全局js对象,也就是H5调Android 1.首先对WebVie ...

  9. 客户端相关知识学习(二)之h5与原生app交互的原理

    前言 现在移动端 web 应用,很多时候都需要与原生 app 进行交互.沟通(运行在 webview中),比如微信的 jssdk,通过 window.wx 对象调用一些原生 app 的功能.所以,这次 ...

随机推荐

  1. 连接数据库出现The server time zone value '�й���׼ʱ��' is unrecogni等问题的解决方案

    使用JDBC连接数据库出现The server time zone value '�й���׼ʱ��' is解决方案 ** 将jdbc.properties中url后加入?serverTimezone ...

  2. VirtualBox——在Win7的HOST上安装配置虚拟机CentOS7

    在Win7为HOST的环境下,安装VirtualBox,在其中安装CentOS7,以Bridge的方式搭建网络环境. 主要配置包括VirtualBox中的网络设置,以及CentOS中的网络配置.另外还 ...

  3. react判断点击位置是否为组件内,实现点击外部触发组件内事件

    1.导入 import {findDOMNode} from 'react-dom' 2.绑定ref <div ref="refTest" </div> 3.绑定 ...

  4. mysql|full join 多表联查,系统报错,无法解答!

    查询语句: select 分数 from cfull join don c.姓名=d.姓名 报错: [Err] 1054 - Unknown column 'c.姓名' in 'on clause' ...

  5. 五十二:WTForms表单验证之基本使用

    作用:1.做表单验证,把用户提交的数据验证是否合法2.做模板渲染 安装:pip install wtforms 表单验证1.自定义一个表单类,继承wtforms.Form2.定义好需要验证的字段,字段 ...

  6. GMM-EM实验结果

  7. java源码-HashMap源码分析

    这次开始分析JDK8中的HashMap源码. 首先理解HashMap中几个关键变量, TREEIFY_THRESHOLD  链表转换红黑树扩容值 table 数组+链表+红黑树  size 当前存储数 ...

  8. redis-benchmark使用说明

    Redis-benchmark为Redis性能测试工具. 指令说明: Usage: redis-benchmark [-h <host>] [-p <port>] [-c &l ...

  9. python3速查参考- python基础 1 -> python版本选择+第一个小程序

    题外话: Python版本:最新的3.6 安装注意点:勾选添加路径后自定义安装到硬盘的一级目录,例如本人的安装路径: F:\Python 原因:可以自动添加python环境变量,自动关联.py文件,其 ...

  10. 微信小程序-T

    微信小程序安装完毕后,真机调试及预览(打开调试模式)有数据,其他类型无数据在微信公众号-开发-域名信息中绑定正确的域名即可 配置微信小程序合法域名微信公众号-开发微擎应用-基础设置微信app-site ...