谷普下载站

首页 安卓游戏 安卓软件 专题合集
当前位置:首页安卓软件系统工具 → 谷歌webviewv139.0.7258.62

谷歌webview

发表评论
谷歌webviewv139.0.7258.62
  • 应用平台:Android
  • 应用大小:77.41 MB
  • 更新时间:2026-01-17 15:26:08
  • 应用版本:v139.0.7258.62
  • 应用语言:简体中文
  • 应用等级:4星级
  • 应用分类:系统工具
  • 开发商:Google LLC

评分:

6.7

好评:

差评:

反馈
软件介绍

谷歌webview是谷歌官方开发并预装在安卓系统中的核心组件,它主要用于渲染网页内容并执行相关代码,能够有效优化网页数据加载与处理,协助用户管理浏览历史记录等,用户可通过本站获取该应用,进一步探索其丰富的功能特性。

软件特色

1、启用后能显著提升手机网页浏览的流畅度,优化各类网页数据的加载与呈现效果,是一款实用的网页辅助工具。

2、采用定制化的架构处理器进行高效处理,带来多样化的网页信息展示体验,系统组件可自定义配置,运行稳定可靠。

3、提供无缝接入式的操作体验,支持多种类型的应用程序调用,用户可根据需要自行安装,内容通过网页形式直接呈现。

软件功能

【位置感知浏览】

根据您的位置提供更相关、更有用的资讯。

【同步功能】

可在不同设备间同步浏览历史、书签、保存的密码以及当前打开的网页标签。

【扩展支持】

允许用户通过添加扩展插件快速定制浏览器功能。

【浏览速度】

启动迅速,并能帮助用户快速找到所需信息。

使用指南

以Android 8.0源码为例,首先需要定位WebView的实际构造函数:

该构造函数会调用ensureProviderCreated()成员函数,以确保Chromium动态库已被加载;在库已加载的情况下,此函数还会创建一个WebViewProvider对象并将其保存在成员变量mProvider中,这个WebViewProvider才是实现WebView各项功能的核心组件;例如loadUrl(String url)等主要方法,基本都是通过mProvider来完成的。

获得mProvider后,WebView的构造函数会继续调用mProvider.init(javaScriptInterfaces, privatepowsing)来启动网页渲染引擎;对于基于Chromium的实现,其WebViewProvider是一个WebViewChromium对象,该对象的init成员函数被调用时,便会启动Chromium的网页渲染引擎。

接下来查看ensureProviderCreated的具体实现:

WebView的ensureProviderCreated函数首先调用checkThread确保自己在正确的线程中执行,接着判断mProvider是否为null;若为null,则表示尚未为当前WebView创建Provider,此时它会先调用getFactory获取一个WebViewFactory,然后利用该工厂的createWebView方法创建一个WebViewProvider。

下面分析getFactory()方法及其实现:

getFactory返回的WebView Factory是通过WebViewFactory类的静态成员函数getProvider获得的;getProvider首先检查静态变量sProviderInstance是否为null,若为null则说明当前应用进程尚未加载Chromium动态库,此时需要加载该库并创建一个WebView Factory,将其保存在sProviderInstance中;我们先分析Chromium动态库的加载过程,再分析WebView Factory的创建。

加载Chromium动态库是通过WebViewFactory的静态成员函数loadNativeLipary完成的:

loadNativeLipary首先调用getWebViewNativeLiparyPaths获取要加载的Chromium库文件路径,然后调用另一个静态成员函数nativeLoadWithRelroFile进行加载,加载时会指定一个Chromium GNURELRO Section文件;该文件由系统启动时通过临时进程生成;nativeLoadWithRelroFile是一个JNI方法,由C++层的函数LoadWithRelroFile实现:

LoadWithRelroFile会判断自身是32位还是64位,然后从参数lib32和lib64中选择对应的Chromium动态库进行加载。

实际加载工作由另一个函数DoLoadWithRelroFile完成:

DoLoadWithRelroFile通过Linker导出的函数androiddlopenext,在Zygote进程预留的地址空间中加载Chromium动态库;应用进程由Zygote进程fork而来,因此也继承了该地址空间;此函数会告知androiddlopenext在加载时,将参数relro描述的Chromium GNURELRO Section文件映射到内存,并替换已加载库的对应部分,这是通过指定ANDROIDDLEXTUSERELRO标志实现的;之所以可行,是因为两个进程加载同一动态库的地址相同,使得链接与重定位信息完全一致,从而可通过内存映射共享,达到节省内存的目的。

完成这一步后,Chromium动态库即在应用进程中加载完毕;回到WebViewFactory的静态函数getProvider,它接下来会创建一个WebView Factory,用于后续生成WebViewProvider。

getProvider首先需要确定要创建的WebView Factory类型,这通过调用另一个静态函数getFactoryClass获得:

由此可见,getFactoryClass返回的WebView Factory类型为com.android.webview.chromium.WebViewChromiumFactoryProviderForO,该类由前述WebView包提供;这意味着getProvider创建的WebView Factory是一个WebViewChromiumFactoryProvider对象:

WebViewChromiumFactoryProvider的构造函数会调用AwpowserProcess类的静态函数loadLipary,对已加载的Chromium动态库进行初始化:

AwpowserProcess的loadLipary又调用LiparyLoader类的静态函数loadNow执行初始化:

LiparyLoader的loadNow再调用另一个重载版本的loadNow进行初始化:

重载的loadNow接着调用静态函数loadAlreadyLocked完成初始化:

并非所有系统都支持在加载动态库时以内存映射方式替换其GNURELRO Section,因此Chromium自带了一个Linker;在Android 5.0以上版本中,系统已提供androiddlopenext函数,故Chromium会使用系统Linker而非自有Linker来加载库;调用System的静态函数loadLipary即可使用系统Linker,loadAlreadyLocked要加载的库由NativeLiparies的静态变量LIpARIES指定:

由此可知,loadAlreadyLocked要加载的正是Chromium动态库;该库此前已加载,此处再次调用System.loadLipary仅会触发其导出的JNIOnLoad函数被调用,而不会重复加载;JNIOnLoad被调用时,Chromium动态库会执行初始化操作:

其中一项关键初始化是为Chromium的Content层设置一个类型为AwMainDelegate的Main Delegate;AwMainDelegate由Chromium的androidwebview模块实现,Android WebView通过该模块加载和渲染网页,而网页加载渲染功能又由Content层提供,因此androidwebview模块可通过设置Main Delegate与Content层通信;设置操作通过调用函数SetContentMainDelegate完成:

参数delegate指向一个AwMainDelegate对象,该对象会被SetContentMainDelegate保存在全局变量gcontentmain_delegate中;至此,Chromium动态库在应用进程中加载并初始化完成,同时系统也创建了一个WebViewChromiumFactoryProvider类型的WebView Factory;回到WebView的ensureProviderCreated函数,此时它将通过该工厂的createWebView方法为当前WebView创建WebView Provider:

WebViewChromiumFactoryProvider的createWebView创建的是一个WebViewChromium类型的WebView Provider;该Provider返回给ensureProviderCreated后,被保存在WebView的成员变量mProvider中;此后,WebView即可通过此Provider借助Chromium加载和渲染网页。

软件说明

1、安卓设备上的谷歌搜索应用能够提供流畅的网络搜索体验。

2、此官方搜索应用可同时检索网络内容与设备本地信息。

3、本地搜索范围包括已安装应用、浏览器书签与历史、联系人以及音乐文件等。

更新内容

v138.0.7204.67:

• 修复了若干问题并提升了运行速度。

应用信息
  • 包名:com.google.android.webview
  • 版本:v139.0.7258.62
  • MD5值:630D954EB23BF6A839152011950EF2E8
软件截图
  • 谷歌webview截图1
  • 谷歌webview截图2
  • 谷歌webview截图3
  • 谷歌webview截图4
下载地址
用户评论
昵称:
字数: 0/500 请大家理性发言,自觉遵守互联网相关政策法规,谷普下载评论内容只代表网友观点,与本站立场无关!

最新评论

系统工具排行

关于我们 | 版权声明 | 联系我们 | 软件投稿 | sitemap

Copyright 2012-2026 谷普下载站(gupuxiazai.com).All Rights Reserved