当前位置:首页 > 移动开发 >
《深入理解Android:WebKit卷》电子书封面

深入理解Android:WebKit卷

  • 发布时间:2020年06月10日 08:56:51
  • 作者:孟德国、王耀龙、周金利、黎欢
  • 大小:3.8 MB
  • 类别:Android电子书
  • 格式:PDF
  • 版本:高清版
  • 评分:9.3

    深入理解Android:WebKit卷 PDF 高清版

      给大家带来的一篇关于Android相关的电子书资源,介绍了关于Android、WebKit方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小3.8 MB,孟德国、王耀龙、周金利、黎欢编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.1。

      内容介绍

      深入理解Android:WebKit卷》是Android經典畅销书籍系“深层次了解Android”系列产品的第6部,由前百度站长平台挪动浏览器市场部的几个主要从事Android系统软件和WebKit科学研究的杰出技术工程师编写。它承继了该系列产品书籍的整体观念,以Android源码为借助,以WebKit解决数据信息的步骤和它的程序模块根据,对WebKit的工作方案和完成原理开展了深层的分析,应该是现阶段对Android系统软件下WebKit讲解最深入的经典著作。自然,它对全部科学研究浏览器和WebKit核心的技术工程师们有一样的协助。

      本书共11章,行为主体一部分按浏览器解决数据信息的步骤来机构:

      第1章是准备工作,详细介绍了Android全源代码开发工具的构建、调节专用工具的应用,及其WebKit源码的构造。
      第二章讲解了浏览器工作中原理、WebKit的总体构架与设计方案,及其与它与流行浏览器模块的较为。
      第三章讲解了WebKit的WTF库,包括智能指针、Assertion、代码优化与器皿、进程封裝、Webkit运作时进程构造。
      第四章讲解了WebKit的Loader与互联网库,包括Loader的设计方案与完成构架、資源载入步骤、MainResourceLoader和SubResourceLoader、Chrome-net互联网库,及其WebCache。
      第五章讲解了网页页面分析,包括HTML英语的语法分析、网页页面解决一般全过程、CSS款式解决、JS脚本实行等內容。
      第六章讲解了排版设计合理布局,包括CSS框实体模型、合理布局测算,及其render有关的关键类。
      第7章讲解了3D渲染和硬件加速器,包括手机软件绘图步骤、手机软件生成、硬件加速器生成等。
      第八章讲解了AndroidWebKit架构,包括WebKitJava层关键类与关键插口和WebKit架构完成源代码,并根据WebKit的浏览器做了案例完成
      第9章讲解了JavaScript拓展插口,包括V8原理及插口、WebKitJavaScript插口,并做了HTMLElementbinding案例分析和HTML5拓展分析
      第10章讲解了WebKit的软件系统软件,包括NPAPI插件接口详细说明、WebKit的软件完成、Android服务平台软件开发设计等。
      第11章讲解了RemoteInspector,包括RemoteInspector完成构架、RemoteInspector协议书、Inspector编码分析、BackEnd编码分析、FrontEnd编码分析等
      此外,在对大量的Android源码开展分析的全过程中,这书尽量地对在其中的绝妙之处开展了分析和讲解,目地是期待协助阅读者理解在其中的优秀设计观念和方式。

      目录

      • 前 言
      • 第1章 搭建源代码编译环境 1
      • 1.1 Android全源码开发环境 1
      • 1.1.1 PC配置建议 1
      • 1.1.2 Ubuntu系统安装 2
      • 1.1.3 Ubuntu下Android编译环境搭建 2
      • 1.1.4 工作目录设置 3
      • 1.1.5 源代码下载 3
      • 1.1.6 整体编译Android源代码 4
      • 1.1.7 单个模块按需编译 5
      • 1.1.8 编译生成本地Android SDK 5
      • 1.2 Android常用工具使用及相关技巧说明 6
      • 1.2.1 启动Android模拟器 10
      • 1.2.2 Android调试工具adb的使用方法 10
      • 1.3 WebKit源代码目录结构 13
      • 1.4 WebKit代码调试 15
      • 1.5 本章小结 17
      • 第2章 浏览器工作原理及WebKit概览 18
      • 2.1 浏览器工作原理概述 18
      • 2.1.1 页面 19
      • 2.1.2 内核 19
      • 2.1.3 外壳 24
      • 2.2 浏览器和WebKit简史 27
      • 2.3 WebKit架构概览 29
      • 2.3.1 整体组成架构 30
      • 2.3.2 核心工作流程 34
      • 2.3.3 代码设计风格 36
      • 2.4 本章小结 38
      • 第3章 WTF的实现及使用 39
      • 3.1 WTF库概述 39
      • 3.2 智能指针 40
      • 3.2.1 OwnPtr的实现及使用 41
      • 3.2.2 RefPtr的实现及使用 44
      • 3.2.3 线程安全性 45
      • 3.3 Assert与crash dump 46
      • 3.3.1 Assert的实现及使用 46
      • 3.3.2 crash dump的实现及使用 47
      • 3.4 内存管理与容器 50
      • 3.4.1 FastAllocator的实现及使用 50
      • 3.4.2 容器类概述 51
      • 3.5 原子操作 57
      • 3.6 WebKit运行时线程结构 57
      • 3.6.1 MessageQueue实现分析 57
      • 3.6.2 Task传递 59
      • 3.6.3 MainThread运行原理 60
      • 3.7 本章小结 61
      • 第4章 Loader与网络库 62
      • 4.1 Loader概述 63
      • 4.2 Loader的设计与实现架构 63
      • 4.2.1 Loader模块的设计 63
      • 4.2.2 Loader中的类结构及作用 65
      • 4.3 MainResourceLoader资源加载流程 67
      • 4.3.1 主资源 67
      • 4.3.2 主资源加载示例 67
      • 4.4 SubResourceLoader资源加载流程 73
      • 4.4.1 派生资源 73
      • 4.4.2 派生资源加载示例 73
      • 4.5 WebKit网络库chrome-net介绍 80
      • 4.5.1 chrome-net实现结构 80
      • 4.5.2 chrome-net与WebKit的接口 81
      • 4.6 WebKit中的 Cache 81
      • 4.6.1 Memory Cache内存缓存 82
      • 4.6.2 Page Cache页面缓存 84
      • 4.6.3 Disk Cache磁盘缓存 86
      • 4.7 本章小结 87
      • 第5章 网页解析 88
      • 5.1 WebKit网页解析概述 88
      • 5.2 DOM模型简介 89
      • 5.3 HTML解析过程 90
      • 5.3.1 DOM树的构建 90
      • 5.3.2 Render树的构建 94
      • 5.3.3 RenderLayer树的构建 96
      • 5.4 CSS样式表处理 97
      • 5.4.1 CSS文档结构 97
      • 5.4.2 CSS解析过程 99
      • 5.4.3 CSS规则匹配 100
      • 5.5 JavaScript脚本执行 101
      • 5.6 本章小结 103
      • 第6章 排版布局 104
      • 6.1 CSS盒模型 104
      • 6.2 定位与包含块 106
      • 6.3 Render类的核心对象 111
      • 6.4 Render树创建流程代码分析 121
      • 6.5 Layout流程代码分析 123
      • 6.5.1 计算大小 123
      • 6.5.2 确定位置 127
      • 6.5.3 简单例子 130
      • 6.6 绘制流程分析 131
      • 6.7 本章小结 136
      • 第7章 渲染与硬件加速 137
      • 7.1 Android SurfaceFlinger系统介绍 137
      • 7.2 WebKit 的三棵树 138
      • 7.3 Android WebKit渲染过程 139
      • 7.3.1 Android WebKit记录网页绘制命令过程分析 140
      • 7.3.2 Android WebKit软件渲染流程分析 145
      • 7.3.3 Android WebKit硬件渲染流程分析 147
      • 7.4 软件渲染与硬件渲染的优缺点 156
      • 7.5 本章小结 156
      • 第8章 Android WebKit框架 157
      • 8.1 Android系统中的WebKit框架介绍 157
      • 8.1.1 Android Framework介绍 158
      • 8.1.2 Java Native Interface简介 160
      • 8.1.3 Android WebKit相关API简介 161
      • 8.2 Android WebKit框架实现解析 163
      • 8.2.1 架构简述 164
      • 8.2.2 初始化流程 165
      • 8.2.3 网页加载流程 167
      • 8.2.4 绘制调用流程 168
      • 8.3 基于Android WebKit的浏览器实现 169
      • 8.3.1 浏览器App的基本功能 169
      • 8.3.2 Android系统浏览器实现解析 170
      • 8.3.3 Android系统WebKit内核定制开发 174
      • 8.4 本章小结 175
      • 第9章 JavaScript扩展接口 176
      • 9.1 V8原理及接口 176
      • 9.1.1 V8设计元素 176
      • 9.1.2 V8运行实例分析 181
      • 9.1.3 V8 接口及使用 183
      • 9.2 WebKit JavaScript接口 191
      • 9.2.1 V8 binding作用及结构 191
      • 9.2.2 WebKit接口扩展 191
      • 9.3 HTML 5扩展实例 196
      • 9.3.1 WebSocket概述 196
      • 9.3.2 WebSocket实现分析 198
      • 9.4 本章小结 200
      • 第10章 WebKit的插件系统 201
      • 10.1 NPAPI插件概述 202
      • 10.1.1 浏览器插件功能作用 202
      • 10.1.2 NPAPI插件规范 202
      • 10.2 WebKit的插件系统 204
      • 10.2.1 WebKit插件基础组件 205
      • 10.2.2 插件加载流程 205
      • 10.2.3 插件与脚本的交互 210
      • 10.3 Android平台插件开发 213
      • 10.3.1 新增特有接口 213
      • 10.3.2 插件APK化及参考范例 214
      • 10.4 本章小结 217
      • 第11章 浏览器调试工具 218
      • 11.1 Inspector概述 218
      • 11.2 WebKit Inspector协议 219
      • 11.3 Remote Inspector实现结构 223
      • 11.3.1 协议信道 224
      • 11.3.2 Inspector后端 225
      • 11.3.3 Inspector前端 229
      • 11.4 JavaScript调试 233
      • 11.5 本章小结 235

      学习笔记

      React-native桥接Android原生开发详解

      在开发RN的漫漫长河中,早晚有那么一天要接触到安卓的原生开发,笔者来介绍一下其中的酸甜苦辣.对于一个不懂android的小白来说,刚开始有点难,不过都是万事开头难.语言是想通的,原理也是大径若一. 开发过程中是要集成高德的导航功能,没有找到好的轮子的,只要写原生代码,然后在用JS去调用原生的导航模块. 首先注册模块 其意义在与将类注册到RN中,才能用JS去调用 public class AnExampleReactPackage implements ReactPackage { @Override public ListViewManager createViewManagers(ReactApplicationContext reactContext) { return Collections.emptyList(); } @Override public ListNativeModule createNativeModules(ReactApplicationContext reactContext) { ListNativeModule modules = new ArrayL……

      Android分包MultiDex策略详解

      1.分包背景 这里首先介绍下MultiDex的产生背景。 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加载Dex文件的时候执行的。这个过程会生成一个ODEX文件,即Optimised Dex。执行ODex的效率会比直接执行Dex文件的效率要高很多。 但是在早期的Android系统中,DexOpt有一个问题,DexOpt会把每一个类的方法id检索起来,存在一个链表结构里面。但是这个链表的长度是用一个short类型来保存的,导致了方法id的数目不能够超过65536个。当一个项目足够大的时候,显然这个方法数的上限是不够的。尽管在新版本的Android系统中,DexOpt修复了这……

      JS判断Android、iOS或浏览器的多种方法(四种方法)

      第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。 代码如下: script type="text/javascript" var u = navigator.userAgent; var isAndroid = u.indexOf('Android') -1 || u.indexOf('Adr') -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 alert('是否是Android:'+isAndroid); alert('是否是iOS:'+isiOS);/script 第二种:检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等。 script type="text/javascript"//判断访问终端var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') -1, //IE内核 presto: u.indexOf('Presto') -1, //opera内核 webKit: u.indexOf('AppleWebKit') -1, //苹果、谷歌内核 gecko: u.i……

      Java及Android中常用链式调用写法简单示例

      本文实例讲述了Java及Android中常用链式调用写法。分享给大家供大家参考,具体如下: 最近发现,目前大火的许多开源框架中,大多都使用了一种" (方法).(方法).(方法) "的形式进行调用,最典型的就是RxJava。android中AlertDialog控件的源码也是这种形式的。查阅可知,大家把它叫做 链式调用 。“行动是检验程序的唯一标准”0.0!查了、说了那么多,还是得自己写个例子并运行出预期的效果。 /** * * 链式调用 * * @author k.k * */public class Student { public Student() { } public static Builder builder() { return new Builder(); } // 静态内部类 static class Builder { /* 姓名 */ private String name; /* 年龄 */ private String age; /* 年级 */ private String grad……

      通过Python 获取Android设备信息的轻量级框架

      今天跟大家分享一下,如何通过Python实现一个轻量级的库来获取电脑上连接的Android设备信息,为什么说轻量呢因为整个库也就4KB,相比其他诸如Appetizer这样动辄就8MB多的库要轻很多,而且也基本满足项目中的需求。 这个库只有一个文件,通过封装Android的ADB命令实现,返回的是一个包含所有设备信息的标准json格式的列表方便解析,下面简单介绍一下: 检查环境变量 # 判断是否设置环境变量ANDROID_HOMEif "ANDROID_HOME" in os.environ: command = os.path.join( os.environ["ANDROID_HOME"], "platform-tools", "adb")else: raise EnvironmentError( "Adb not found in $ANDROID_HOME path: %s." % os.environ["ANDROID_HOME"]) 命令执行 class Shell: def __init__(self): pass @static……

      以上就是本次介绍的Android电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:Kotlin程序员面试算法宝典

      下一篇:Python参考手册

      展开 +

      收起 -

      下载地址:百度网盘下载
      Android相关电子书
      Android开发实例大全
      Android开发实例大全 超清第2版

      本书通过Android应用程序开发,结合真实案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程,由浅入深,实例全面并典型

      立即下载
      Android开发范例实战宝典
      Android开发范例实战宝典 高清版

      《Android开发范例实战宝典》 全面、系统地介绍了200多个常用的Android应用开发实例,这些实例紧跟技术趋势,内容基本覆盖了Android开发的方方面面,几乎涉及Android开发的所有重要知识。书中给

      立即下载
      Android应用安全防护和逆向分析
      Android应用安全防护和逆向分析 扫描版

      本书全面介绍Android应用的安全防护方法与逆向分析技术,本书有非常详细的案例讲解,也提供了大量的工具源码,是Android开发人员逆向学习研究的极好工具手册,可以帮助Android开发者成为更全

      立即下载
      Android系统源代码分析
      Android系统源代码分析 高清版

      Android从诞生到现在仅有短短几年的时间,它凭借其开源开放性、优异的用户体验和极为方便的开发方式,赢得了广大用户和开发者的青睐,目前已经发展成为市场占有率位居第一的智能手机操

      立即下载
      Android插件化开发指南
      Android插件化开发指南 完整版

      Android插件化技术广泛应用在移动开发中,通过插件化技术,AndroidApp可以不通过发布新版本而修复线上的bug或者推出新功能,这对于日活千万的App而言是非常重要的,可极大程度提升App开发效率

      立即下载
      精通Android Studio
      精通Android Studio 高清版

      精通Android Studio 以通俗易懂的语言全面系统地介绍了Android Studio实用工具和操作技巧,场景明确,步骤清晰,图文结合。 全书共16章。第1章对Android Studio做概要的介绍,从特性、界面、工具、功

      立即下载
      Android APP开发入门
      Android APP开发入门 高清版

      《Android APP开发入门:使用Android Studio环境》从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用AndroidStudio开发环境开发Android应用程序应该掌握的各方面技术。全书

      立即下载
      腾讯Android自动化测试实战
      腾讯Android自动化测试实战 高清版

      本书是Android自动化测试领域的里程碑著作,由腾讯最早专注APP测试的腾讯移动品质中心(TMQ)官方出品,系统总结了该团队7年多来在QQ浏览器、应用宝等多款亿级APP的自动化测试中总结出来的

      立即下载
      读者留言
      Mr.邵弘文

      Mr.邵弘文 提供上传

      资源
      18
      粉丝
      35
      喜欢
      143
      评论
      17

      Copyright 2018-2020 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com