您现在的位置:首页 > 知识库 > 计算机与软件 >深入理解Android 内核设计思想 第2版 下册
深入理解Android 内核设计思想 第2版 下册

深入理解Android 内核设计思想 第2版 下册

资料大小: 76.07 MB
文档格式: PDF文档
资料语言: 简体中文
资料类别: 计算机与软件
更新日期: 2020-04-02
下载说明:
推荐信息: 内核   林学   设计   深入   理解

本地下载(30点)  备用下载(30点)

内容简介
深入理解Android 内核设计思想 第2版 下册
出版时间:2017年版
内容简介
  全书从操作系统的基础知识入手,全面剖析进程/线程、内存管理、Binder机制、GUI显示系统、多媒体管理、输入系统、虚拟机等核心技术在Android中的实现原理。书中讲述的知识点大部分来源于工程项目研发,因而具有较强的实用性,希望可以让读者“知其然,更知其所以然”。本书分为编译篇、系统原理篇、应用原理篇、系统工具篇,共4篇25章,基本涵盖了参与Android开发所需具备的知识,并通过大量图片与实例来引导读者学习,以求尽量在源码分析外为读者提供更易于理解的思维方式。本书既适合Android系统工程师,也适合于应用开发工程师来阅读,从而提升Android开发能力。读者可以在本书潜移默化的学习过程中更深刻地理解Android系统,并将所学知识自然地应用到实际开发难题的解决中。
目录
第3篇应用原理篇
第14章Intent的匹配规则616
第15章APK应用程序的资源适配628
第16章Android字符编码格式650
第17章Android和OpenGLES660
第18章“系统的UI”——SystemUI685
第19章Android常用的工具
第20章Android应用程序的编译和打包707
第21章Android虚拟机725
21.1Android虚拟机基础知识725
21.1.1Java虚拟机核心概念725
21.1.2LLVM编译器框架734
21.1.3Android中的经典垃圾回收算法736
21.1.4Art和Dalvik之争738
21.1.5Art虚拟机整体框架741
21.1.6Android应用程序与虚拟机742
21.1.7ProcedureCallStandardforArmArchitecture(过程调用标准)744
21.1.8C++11标准中的新特性746
21.2Android虚拟机核心文件格式—Dex字节码749
21.3Android虚拟机核心文件格式—可执行文件的基石ELF756
21.3.1ELF文件格式756
21.3.2Linux平台下ELF文件的加载和动态链接过程764
21.3.3AndroidLinker和动态链接库771
21.3.4SignalHandler和FaultManager782
21.4Android虚拟机核心文件格式——“主宰者”OAT786
21.4.1OAT文件格式解析786
21.4.2OAT的两个编译时机793
21.5Android虚拟机的典型启动流程806
21.6堆管理器和堆空间释义815
21.7Android虚拟机中的线程管理823
21.7.1Java线程的创建过程823
21.7.2线程的挂起过程827
21.8Art虚拟机中的代码执行方式综述829
21.9Art虚拟机的“中枢系统”——执行引擎之Interpreter836
21.10Art虚拟机的“中枢系统”——执行引擎之JIT839
21.10.1JIT重出江湖的契机839
21.10.2AndroidN版本中JIT的设计目标及策略840
21.10.3ProfileGuidedCompilation(追踪技术)842
21.10.4AOTCompilationDaemon843
21.11Art虚拟机的“中枢系统”——执行引擎之本地代码844
21.12Androidx86版本兼容ARM二进制代码——NativeBridge864
21.13Android应用程序调试原理解析871
21.13.1Java代码调试与JDWP协议872
21.13.2Native代码调试879
21.13.3利用GDB调试AndroidArt虚拟机885
第22章Android安全机制透析887
22.1AndroidSecurity综述887
22.2SELinux889
22.2.1DAC889
22.2.2MAC890
22.2.3基于MAC的SELinux890
22.3Android系统安全保护的三重利剑892
22.3.1第一剑:Permission机制893
22.3.2加强剑:DAC(UGO)保护896
22.3.3终极剑:SEAndroid898
22.4SEAndroid剖析899
22.4.1SEAndroid的顶层模型899
22.4.2SEAndroid相关的核心源码900
22.4.3SEAndroid标签和规则901
22.4.4如何在Android系统中自定义SEAndroid903
22.4.5TE文件的语法规则905
22.4.6SEAndroid中的核心主体—init进程907
22.4.7SEAndroid中的客体912
22.5Android设备Root简析913
22.6APK的加固保护分析916
第4篇Android系统工具
第23章IDE和Gradle922
23.1Gradle的核心要点922
23.1.1Groovy与Gradle923
23.1.2Gradle的生命周期926
23.2Gradle的Console语法927
23.3GradleWrapper和Cache929
23.4AndroidStudio和Gradle931
23.4.1Gradle插件基础知识931
23.4.2AndroidStudio中的Gradle编译脚本932
第24章软件版本管理937
24.1版本管理简述937
24.2Git的安装937
24.2.1Linux环境下安装Git938
24.2.2Windows环境下安装Git939
24.3Git的使用939
24.3.1基础配置939
24.3.2新建仓库940
24.3.3文件状态942
24.3.4忽略某些文件943
24.3.5提交更新944
24.3.6其他命令944
24.4Git原理简析945
24.4.1分布式版本系统的特点946
24.4.2安全散列算法—SHA-1947
24.4.34个重要对象948
24.4.4三个区域953
24.4.5分支的概念与实例954
第25章系统调试辅助工具958
25.1万能模拟器——Emulator958
25.1.1QEMU958
25.1.2Android工程中的QEMU963
25.1.3模拟器控制台(EmulatorConsole)966
25.1.4实例:为Android模拟器添加串口功能969
25.2此Android非彼Android970
25.3快速建立与模拟器或真机的通信渠道——ADB972
25.3.1ADB的使用方法972
25.3.2ADB的组成元素975
25.3.3ADB源代码解析976
25.3.4ADBProtocol981
25.4SDKLayoutlib984
25.5TraceView和Dmtracedump985
25.6Systrace987
25.7代码覆盖率统计992
25.8模拟GPS位置995