
深入理解Android:WebKit卷 PDF 高清版
- 大小:3.8 MB
- 类型:Android
- 格式:PDF
- 出版:机械工业出版社
- 作者:孟德国、王耀龙、周金利、黎欢
- 更新:2020-06-10 08:56:51

本站收集了一篇Android相关的资料,由机械工业出版社出版,作者是孟德国、王耀龙、周金利、黎欢,介绍了关于Android、WebKit方面,格式为PDF,资源大小3.8 MB,目前在Android类资源综合评分为:7.7分。
Android资源推荐
- Android基础教程 PDF 电子书 / 50.2 MB / 伯内特 推荐度:
- Android Gradle权威指南 PDF 电子书 / 36.3 MB / 飞雪无情 推荐度:
- 疯狂Android讲义(Kotlin版) PDF 电子书 / 522.1 MB / 李刚 推荐度:
书籍介绍
《深入理解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
以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。
Android相关资源
-
Android开发实例大全
本书通过Android应用程序开发,结合真实案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程,由浅入深,实例全面并典型
大小:137.8 MBAndroid电子书
-
Android开发范例实战宝典
《Android开发范例实战宝典》 全面、系统地介绍了200多个常用的Android应用开发实例,这些实例紧跟技术趋势,内容基本覆盖了Android开发的方方面面,几乎涉及Android开发的所有重要知识。书中给
大小:101 MBAndroid电子书
-
Android应用安全防护和逆向分析
本书全面介绍Android应用的安全防护方法与逆向分析技术,本书有非常详细的案例讲解,也提供了大量的工具源码,是Android开发人员逆向学习研究的极好工具手册,可以帮助Android开发者成为更全
大小:67.3 MBAndroid电子书
-
Android系统源代码分析
Android从诞生到现在仅有短短几年的时间,它凭借其开源开放性、优异的用户体验和极为方便的开发方式,赢得了广大用户和开发者的青睐,目前已经发展成为市场占有率位居第一的智能手机操
大小:90.5 MBAndroid电子书
-
Android插件化开发指南
Android插件化技术广泛应用在移动开发中,通过插件化技术,AndroidApp可以不通过发布新版本而修复线上的bug或者推出新功能,这对于日活千万的App而言是非常重要的,可极大程度提升App开发效率
大小:181.1 MBAndroid开发电子书
-
精通Android Studio
精通Android Studio 以通俗易懂的语言全面系统地介绍了Android Studio实用工具和操作技巧,场景明确,步骤清晰,图文结合。 全书共16章。第1章对Android Studio做概要的介绍,从特性、界面、工具、功
大小:78.4 MBAndroid电子书
-
Android APP开发入门
《Android APP开发入门:使用Android Studio环境》从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用AndroidStudio开发环境开发Android应用程序应该掌握的各方面技术。全书
大小:107 MBAPP开发电子书
-
腾讯Android自动化测试实战
本书是Android自动化测试领域的里程碑著作,由腾讯最早专注APP测试的腾讯移动品质中心(TMQ)官方出品,系统总结了该团队7年多来在QQ浏览器、应用宝等多款亿级APP的自动化测试中总结出来的
大小:12.7 MBAndroid电子书
Android学习笔记

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

1.分包背景 这里首先介绍下MultiDex的产生背景。 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加载Dex文件的时候执行的。这个过程会生成一个ODEX文件,即Optimised Dex。执行ODex的效率会比直接执行Dex文件的效率要高很多。 但是在早期的Android系统中,DexOpt有一个问题,DexOpt会把每一个类的方法id检……

第一种:通过判断浏览器的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=……

本文实例讲述了Java及Android中常用链式调用写法。分享给大家供大家参考,具体如下: 最近发现,目前大火的许多开源框架中,大多都使用了一种" (方法).(方法).(方法) "的形式进行调用,最典型的就是RxJava。android中AlertDialog控件的源码也是这种形式的。查阅可知,大家把它叫做 链式调用 。“行动是检验程序的唯一标准”0.0!查了、说了那么多,还是得自己写个例子并运行出预期……

今天跟大家分享一下,如何通过Python实现一个轻量级的库来获取电脑上连接的Android设备信息,为什么说轻量呢因为整个库也就4KB,相比其他诸如Appetizer这样动辄就8MB多的库要轻很多,而且也基本满足项目中的需求。 这个库只有一个文件,通过封装Android的ADB命令实现,返回的是一个包含所有设备信息的标准json格式的列表方便解析,下面简单介绍一下: 检查环境变量 # 判断是否设……