Android框架揭秘

Android框架揭秘 pdf epub mobi txt 电子书 下载 2025

[韩] 金泰延 等 著,武传海 译
图书标签:
  • Android
  • Android框架
  • 系统原理
  • 源码分析
  • 技术深度
  • 开发
  • 底层
  • AOSP
  • 进阶
  • 架构
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115274762
版次:1
商品编码:10965603
品牌:异步图书
包装:平装
开本:16开
出版时间:2012-04-01
用纸:胶版纸
页数:424
正文语种:中文

具体描述

编辑推荐

  韩国年度畅销书

  android内核开发的很好选择

  深入研究分析android框架内部运行原理与机制

  2011年度韩国文化体育观光部优秀学术图书

内容简介

  《Android框架揭秘》通过对Android系统源代码的分析,主要介绍Android框架的初始化过程及主要组件的工作原理。作者直接分析和整理了Android框架的主要源代码,并详细讲解了理解框架工作原理所需的各种基础知识和构成实际Android平台骨干的服务框架。其中的主要内容包括:通过启动程序了解Android框架的概要,移植Android以及如何开发适合各种机器的应用程序,分析Android框架所需的基础知识,JNI(Java Native Interface)与Binder基础知识,Zygote、Service Manager、Service Server等Android核心组件,Android服务框架的结构与理解,通过Camera Service、Activity Manager Service等服务分析实际的Android服务等。

  《Android框架揭秘》不仅可以供具备一定开发经验的Android开发人员参考阅读,也可作为Android开发初学者的Android框架入门教材使用。

作者简介

  金泰延,毕业于釜山大学计算机系软件设计专业,曾参与医院ERP系统开发及Android手机开发等项目,现为釜山Android平台学习带头人,经常在AndroidPub等研究学习空间中活动,热衷于大容量数据库与面向对象系统的研究。



  宋亨周,毕业于KAIST大学,获得传感网平台专业硕士学位,长期从事Android等软件平台结构与运行原理的研究工作,拥有多年移动通信、Mobile Widget开发经验,目前从事HTML5网页平台开发。



  朴知勋,毕业于庆星大学计算机科学系,求学期间曾参与过三星软件嵌入式Linux开发项目,目前在一家半导体企业内负责SoC检测,对嵌入式OS多核心环境有较深的研究。



  李白,毕业于仁济大学计算机工学专业,对家庭局域网、内嵌系统安全有深入的研究。目前从事在设备中嵌入Android及Linux内核的研究工作。



  林起永,毕业于崇实大学计算机专业,多年从事嵌入式设备平台的开发工作,积累了丰富的经验,涉及的领域包括基于Linux的嵌入式设备以及多种与计算机相关的领域。

目录

第1章 Android Framework概要
1.1 Android源代码组成
1.2 通过启动过程分析Android Framework
第2章 搭建Android开发环境
2.1 主机环境构成
2.1.1 安装VirtualBox
2.1.2 安装Ubuntu
2.2 搭建Android平台编译环境
2.2.1 编译工具
2.2.2 安装Repo
2.2.3 下载Android源代码
2.2.4 编译Android源代码
2.3 搭建Android SDK开发环境
2.3.1 下载、安装Eclipse
2.3.2 下载Android SDK starter
2.3.3 安装ADT插件
2.3.4 设置Android SDK路径
2.3.5 安装Android SDK
2.4 开发Android应用程序
2.5 应用程序Framework源码级别调试
2.5.1 加载应用程序Framework源
2.5.2 调试HelloWorld Framework(源码级)
2.6 小结
第3章 init进程
3.1 init进程运行过程
3.2 init进程源码分析
3.3 init.rc脚本文件分析与执行
3.3.1 动作列表(Action List)
3.3.2 服务列表(Service List)
3.3.3 init.rc文件分析函数
3.3.4 动作列表与服务列表的运行
3.4 创建设备节点文件
3.4.1 创建静态设备节点
3.4.2 动态设备感知
3.5 进程的终止与再启动
3.6 属性服务
3.6.1 属性初始化
3.6.2 属性变更请求处理
3.7 小结
第4章 JNI与NDK
4.1 Android与JNI
4.2 JNI的基本原理
4.2.1 在Java中调用C库函数
4.2.2 小结
4.3 调用JNI函数
4.3.1 调用JNI函数的示例程序结构
4.3.2 Java层代码(JniFuncMain.java)
4.3.3 分析JNI本地函数代码
4.3.4 编译及运行结果
4.3.5 在Android中的应用举例
4.4 在C程序中运行Java类
4.4.1 Invocation API应用示例
4.4.2 编译及运行
4.4.3 Invocation API在Android中的应用举例:Zygote进程
4.5 直接注册JNI本地函数
4.5.1 加载本地库时,注册JNI本地函数
4.5.2 Android中的应用举例
4.6 使用Android NDK开发
4.6.1 安装Android NDK
4.6.2 使用Android NDK开发步骤
4.6.3 小结
第5章 Zygote
5.1 Zygote是什么
5.2 由app_process运行ZygoteInit class
5.2.1 生成AppRuntime对象
5.2.2 调用AppRuntime对象
5.2.3 创建Dalvik虚拟机
5.2.4 运行ZygoteInit类
5.3 ZygoteInit类的功能
5.3.1 绑定/dev/socket/zygote套接字
5.3.2 加载应用程序Framework中的类与平台资源
5.3.3 运行SystemServer
5.3.4 运行新Android应用程序
第6章 Android服务概要
6.1 示例程序:理解Android服务的运行
6.2 Android服务的种类
6.3 Android应用程序服务
6.4 Android系统服务
6.5 运行系统服务
6.5.1 分析媒体服务器(Media Server)的运行代码
6.5.2 分析系统服务器(System Server)的运行代码
6.6 Android Service Framework、Binder Driver概要及相关术语
第7章 Android Binder IPC
7.1 Linux内存空间与Binder Driver
7.2 Android Binder Model
7.2.1 Binder IPC数据传递
7.2.2 Binder IPC数据流
7.2.3 Binder协议(Binder Protocol)
7.2.4 RPC代码与RPC数据
7.2.5 Binder寻址(Binder Addressing)
7.3 Android Binder Driver分析
7.3.1 从进程的角度看服务的使用
7.3.2 从Binder Driver角度看服务的使用
7.3.3 Binder Driver函数分析
7.4 Context Manager
7.5 小结
第8章 Android Service Framework
8.1 服务框架(Service Framework)
8.2 服务框架(Service Framework)的构成
8.2.1 各层构成元素的配置
8.2.2 各层构成元素间的相互作用
8.2.3 类的结构
8.3 运行机制
8.3.1 服务接口
8.3.2 服务
8.3.3 服务代理(Service Proxy)
8.3.4 Binder IPC处理
8.4 本地服务管理器(Native Service Manager)
8.4.1 Service Manager概要
8.4.2 Service Manager类
8.4.3 Service Manager的运行
8.5 编写本地服务
8.5.1 设计HelloWorld系统服务
8.5.2 HelloWorld服务接口
8.5.3 HelloWorld服务
8.5.4 HelloWorld服务代理
8.5.5 运行HelloWorld服务
8.6 小结
第9章 本地系统服务(Native System Service)分析
9.1 相机服务(Cameral Service)
9.2 相机应用程序
9.3 相机服务框架(Camera Service Framework)
9.3.1 相机服务框架层次结构
9.3.2 相机服务框架类
9.4 相机服务框架的运行
9.4.1 初始化相机服务
9.4.2 连接相机服务
9.4.3 相机服务连接过程分析
9.4.4 相机设置与控制
9.4.5 相机设置与控制分析
9.4.6 相机事件处理
9.4.7 相机事件处理分析
9.5 小结
第10章 Java服务框架(Java Service Framework)
10.1 Java服务框架(Java Service Framework)
10.1.1 Java服务框架的层次结构
10.1.2 Java服务框架中各个类间的相互作用
10.2 运行机制
10.2.1 Java服务框架初始化
10.2.2 Binder
10.2.3 BinderProxy
10.2.4 Parcel
10.3 Java系统服务的实现
10.3.1 闹钟服务(Alarm Manager Service)分析
10.3.2 编写HelloWorldService系统服务
10.3.3 使用HelloWorldService系统服务
10.3.4 编译HelloWorldService系统服务
10.4 Java Service Manager
10.4.1 Java Service Manager简介
10.4.2 BinderInternal
10.4.3 Java Service Manager的运行实例
10.5 使用AIDL生成服务代理与服务Stub
10.5.1 在AIDL文件中定义服务接口
10.5.2 使用AIDL编译器,生成服务接口、服务Stub以及服务代理
10.5.3 继承Stub类创建服务
10.5.4 服务接口的调用
10.6 小结
第11章 Java系统服务运行分析
11.1 Activity Manager Service
11.2 Activity Manager Service创建服务分析
11.2.1 Controller Activity-调用startService()方法
11.2.2 Activity Manager Service的startService()方法的调用过程(使用Binder RPC)
11.2.3 Activity Manager Service--运行startService() Stub方法
11.2.4 运行ActivityThread类的main() 方法
11.2.5 Activity Manager Service--attachApplication() Stub方法
11.3 小结
附录 AIDL语法
























前言/序言


《Java编程艺术:精通JVM与并发》 深入JVM底层,掌握并发精髓,构建高性能Java应用 在快速发展的软件工程领域,Java语言凭借其跨平台、面向对象、健壮性和广泛的应用生态,始终占据着举足轻重的地位。从大规模的企业级系统到日新月异的移动应用,Java的身影无处不在。然而,仅仅掌握Java的语法和API,已不足以应对现代软件开发日益严苛的性能、可靠性和可伸缩性需求。要真正驾驭Java的强大力量,实现应用的极致优化,理解其底层运行机制——Java虚拟机(JVM)——以及如何高效地处理并发任务,是必不可少的技术基石。 《Java编程艺术:精通JVM与并发》正是这样一本旨在为Java开发者提供深度洞察的权威指南。本书并非泛泛而谈的Java入门教程,也并非仅仅罗列API的参考手册。它将带领读者穿越Java语言的表面,深入探索Java世界的内核,从JVM的内部运作原理到并发编程的复杂艺术,层层剖析,力求为每一位渴望成为资深Java工程师的开发者,提供一套系统、全面且极具实践价值的知识体系。 第一部分:JVM的奥秘——理解Java的运行之道 Java的“一次编写,到处运行”的神话,很大程度上归功于Java虚拟机(JVM)。JVM是Java程序得以执行的核心。本书的第一部分将带您深入JVM的各个关键组件,揭示Java代码是如何被转化为机器可理解的指令,并最终在不同的硬件平台上高效运行的。 类加载机制的深度解析: 从静态代码块的执行到类初始化顺序的控制,我们将详细剖析JVM如何加载、链接和初始化Java类。您将了解类加载器的委托模型、双亲委派机制的作用,以及自定义类加载器在特定场景下的应用,例如实现热部署、代码加密或动态加载插件。理解类加载机制,不仅能帮助您解决ClassCastException等常见问题,更能让您对Java程序的启动过程和内存模型有更深刻的认识。 内存区域的精细划分与垃圾回收(GC)原理: Java内存模型是理解Java性能优化的关键。本书将详细介绍JVM运行时数据区,包括堆(Heap)、栈(Stack)、方法区(Method Area)、程序计数器(PC Register)以及本地方法栈(Native Method Stack)各自的职责和生命周期。更重要的是,我们将深入探讨垃圾回收的各个方面:不同垃圾回收算法(如Serial, Parallel, CMS, G1, ZGC, Shenandoah)的原理、优缺点和适用场景;GC过程中可能出现的“Stop-The-World”现象及其对应用性能的影响;以及如何通过JVM参数调优,选择合适的垃圾回收器,有效管理堆内存,防止内存泄漏,提升应用吞吐量和响应时间。 字节码指令集与JVM指令的执行流程: Java源代码最终被编译成平台无关的字节码(bytecode)。本书将带您初步了解JVM字节码的构成,包括操作数栈、局部变量表等概念,并简要介绍一些常见的字节码指令,让您对Java程序在JVM中的执行过程有一个更直观的理解。虽然本书不要求您精通字节码编写,但了解其基本原理,对于理解一些底层的性能问题和工具(如Java Agent)至关重要。 JVM性能调优实战: 理论与实践相结合是本书的宗旨。我们将提供一系列的JVM调优案例,涵盖如何诊断常见的性能瓶颈,如CPU占用过高、内存溢出、响应延迟等。您将学习使用JVisualVM, JMC(Java Mission Control), Arthas等专业工具进行性能监控和问题定位,并通过调整JVM参数,优化堆大小、年轻代/老年代比例、GC策略等,将Java应用的性能提升到一个新的高度。 第二部分:并发编程的艺术——驾驭多核时代的挑战 随着多核处理器的普及,并发编程已成为构建高性能、高可用系统的必备技能。然而,并发编程的复杂性也随之而来:线程安全问题、死锁、活锁、竞态条件等,常常让开发者头疼不已。本书的第二部分将为您构建一套坚实的并发编程理论基础,并提供丰富实用的编程技巧,助您写出安全、高效的并发代码。 线程模型与Java线程的生命周期: 我们将从操作系统线程模型入手,介绍Java线程的创建、启动、终止以及线程间的协作。您将深入理解Java线程的六种状态(新建、就绪、运行、阻塞、等待、超时等待、终止),并学会如何通过`Thread`类、`Runnable`接口以及线程池(`ExecutorService`)来管理线程。 线程安全与JMM(Java Memory Model): 理解JMM是编写正确并发程序的关键。本书将详细解释JMM的内存可见性、原子性、有序性规则,以及`volatile`关键字、`synchronized`关键字、`Lock`接口(如`ReentrantLock`)在保证线程安全方面的作用和原理。您将学会如何识别并发场景下的线程安全隐患,并掌握使用这些工具和机制来构建线程安全的数据结构和算法。 并发容器与工具类: `java.util.concurrent`包提供了大量高效且线程安全的并发集合类和工具类,极大地简化了并发编程的难度。本书将重点介绍`ConcurrentHashMap`、`CopyOnWriteArrayList`、`BlockingQueue`等常用并发容器的内部实现原理和使用场景。同时,我们将深入讲解`CountDownLatch`、`CyclicBarrier`、`Semaphore`、`ExecutorService`等并发工具类,让您能够灵活地构建复杂的并发控制逻辑。 线程池的深入理解与应用: 线程池是管理线程资源、提高程序性能和稳定性的重要手段。本书将深入剖析`ExecutorService`的各种实现(如`ThreadPoolExecutor`)及其核心参数(如核心线程数、最大线程数、线程存活时间、队列容量等),并指导您如何根据不同的业务场景选择和配置最优的线程池策略,避免线程创建和销毁的开销,防止线程过多导致资源耗尽。 并发问题的诊断与解决: 针对实际开发中常见的并发问题,如死锁(`deadlock`)的检测与预防、活锁(`livelock`)的规避、竞态条件(`race condition`)的消除,本书将提供详实的分析方法和实用的解决方案。您将学习使用JStack、JConsole等工具来定位和分析线程问题,并通过代码重构和模式应用来提升并发程序的健壮性。 函数式并发与Reactor模式: 随着Java 8及以后版本对函数式编程的支持,以及响应式编程的兴起,本书还将引导您了解函数式并发的思想,以及如何在现代Java应用程序中利用函数式特性编写更简洁、更易于理解的并发代码。此外,对于高并发I/O场景,我们将介绍Reactor模式(反应器模式)及其在Netty等高性能网络框架中的应用。 谁适合阅读本书? 初中级Java开发者: 希望深入理解Java语言底层原理,摆脱“知其然不知其所以然”的困境,提升代码质量和性能。 有一定经验的Java工程师: 寻求在JVM调优和并发编程方面进行系统性学习,解决实际项目中遇到的性能瓶颈和并发难题。 对Java虚拟机和并发技术感兴趣的技术爱好者: 渴望探索Java运行时环境的深层机制,掌握构建高并发、高性能系统的关键技术。 后端开发工程师: 无论您使用的是Spring Boot, Spring Cloud, Dubbo还是其他Java后端框架,扎实的JVM和并发基础都是您在后端开发领域取得成功的坚实后盾。 本书的价值所在: 《Java编程艺术:精通JVM与并发》不仅仅是一本书,更是一份通往Java高级工程师之路的地图。它将帮助您: 提升代码性能: 深入理解JVM内存管理和垃圾回收,能够进行有效的JVM调优,显著提升Java应用的响应速度和吞吐量。 编写健壮并发代码: 掌握并发编程的核心原则和实践技巧,有效避免线程安全问题,构建稳定可靠的多线程应用。 解决复杂问题: 具备诊断和解决JVM和并发相关疑难杂症的能力,成为团队中不可或缺的技术骨干。 开阔技术视野: 了解Java生态系统的底层运行机制,为进一步学习更高级的Java技术(如JVM源码、分布式系统、性能监控工具等)打下坚实基础。 增强职业竞争力: 在当今高度竞争的IT行业,对JVM和并发的深入理解是区分资深工程师和普通开发者的重要标志。 踏上这段探索之旅,您将不仅仅是Java的“使用者”,更是Java世界的“理解者”和“掌控者”。《Java编程艺术:精通JVM与并发》,邀您一同雕琢您的Java编程技艺,铸就卓越的软件工程能力!

用户评价

评分

作为一名长期从事Android开发的工程师,我一直在寻找一本能够真正帮助我理解Android底层运行机制的书籍。《Android框架揭秘》这本书,给我的第一印象是“有料”。它没有回避那些晦涩难懂的技术细节,而是将其一一剖析,并且能够结合实际的开发场景进行阐述。我特别关注了书中关于进程管理和线程调度的部分,这直接关系到App的响应速度和稳定性。理解Android是如何管理多个进程的,以及如何有效地利用多线程来提高效率,对于开发大型、复杂的App来说至关重要。另外,这本书对UI渲染流程的讲解也让我颇感兴趣,从View的绘制到窗口的管理,似乎都能找到深入的解释,这对于优化UI性能、解决界面卡顿问题非常有指导意义。我很期待书中对Handler、Looper、MessageQueue这套异步消息处理机制的详细讲解,这在Android开发中无处不在,但要真正理解其工作原理却并非易事。这本书的厚度和内容密度,预示着这是一次深度的学习之旅,我准备花足够的时间来消化它。

评分

说实话,我买过不少关于Android的书籍,但很多都停留在表面,讲完API就戛然而止,很难真正帮助我理解Android的“灵魂”。《Android框架揭秘》这本书,从我初步的浏览来看,似乎走了一条不同的路。它不仅仅是告诉我们“怎么做”,更侧重于“为什么这么做”。我特别欣赏它对Android系统组件之间交互的阐述,比如Intent的传递过程,它不仅仅是讲解Intent的属性,还会深入到Binder的调用、Service的启动流程,甚至到进程间的通信细节。这对于想写出健壮、高性能Android应用的我来说,是必不可少的知识。我注意到书中对内存管理和GC机制的讲解也相当详细,这部分内容对于优化App性能、避免内存泄漏至关重要,我一直觉得这块是我的短板,希望能通过这本书得到有效的提升。书中的代码示例也显得比较精炼,没有冗余的代码,直击核心,这一点我很喜欢,毕竟时间宝贵,不想在无谓的细节上浪费。期待通过阅读这本书,能够更从容地应对各种复杂场景下的开发挑战。

评分

我最近入手了《Android框架揭秘》,翻了几页,感觉这本书的内容非常有分量。它不像市面上很多同类书籍那样,只是简单地罗列API或者讲解一些基础概念。这本书似乎更侧重于Android的“内脏”,也就是其核心框架的运作机制。我尤其对书中关于权限管理和安全机制的讲解产生了浓厚的兴趣。理解Android是如何管理应用权限的,以及它是如何保障用户数据的安全的,对于开发安全可靠的App至关重要。此外,我对书中对Android多媒体框架的深入探讨也充满了期待,无论是音频、视频还是相机相关的API,理解其背后的底层实现,能帮助我更好地利用这些功能,甚至进行一些定制化的开发。这本书的文字风格比较严谨,但又不失可读性,我认为这对于深入理解复杂的技术概念非常重要。我希望通过这本书,能够系统地梳理我对Android框架的认识,填补之前学习中的一些盲点。

评分

刚拿到《Android框架揭秘》这本书,还没来得及细看,但粗略翻阅一下目录和部分章节,就能感受到它的深度和专业性。这本书的选题非常切合我当前的需求,我一直在寻找一本能够深入剖析Android系统核心组件的书籍,尤其是关于系统服务的设计和实现。我注意到书中对ServiceManager、ActivityManagerService等核心服务的讲解,这部分内容对于理解Android系统的“大管家”如何运作至关重要。而且,从章节的编排来看,它似乎能够循序渐进地引导读者理解这些复杂的概念,从基础的IPC机制到具体的服务实现,层层递进。我非常期待书中对Android的事件分发机制和消息处理机制的详细阐述,这部分内容直接关系到App的交互体验和性能表现。这本书的纸质和印刷质量也很好,阅读起来会是一种愉快的体验。我相信,通过这本书的学习,我能够对Android框架有一个更加全面、深刻的认识,从而在实际开发中更加得心应手。

评分

《Android框架揭秘》这本书,我刚拿到手,迫不及待地翻阅了一下,整体感觉非常扎实。虽然还没能深入钻研每一个细节,但从目录和章节划分来看,它涵盖的广度和深度都令人印象深刻。特别是关于Binder通信机制的章节,我之前一直对它有所困惑,这本书的梳理方式似乎能帮助我理清思路,从最底层的IPC原理到上层的Framework调用,循序渐进地解析,这种由内而外的讲解方式,对于我这种想彻底弄明白Android底层原理的读者来说,简直是福音。而且,这本书并非只是罗列API,而是注重解释“为什么”,为什么Binder要这样设计?它的优势和劣势又在哪里?这种深挖背后的思考,是很多技术书籍所欠缺的。我尤其期待对Activity Manager Service (AMS)和Window Manager Service (WMS)的深入剖析,这两大核心服务的协作机制,直接决定了App的生命周期和UI的呈现,弄懂它们,对于理解Android系统的运行逻辑至关重要。这本书的排版和插图也显得比较用心,不会让人产生枯燥乏味的感觉,希望能帮助我突破Android开发的瓶颈,迈上一个新的台阶。

评分

安卓进阶必看,从安卓底层原理讲起。

评分

书质量很好,正品,就是入门看比较难理解点。

评分

她是linux系统下的开发,

评分

书太脏了,不是新的!

评分

虽然sdk有点旧,但是原理是不变的。万变不离其宗,阅读后收获很大。。

评分

绝对好书,没有二话,行走江湖全靠你了!~~~~~~~~~

评分

买来学习下安卓。。。。。呵呵。

评分

不错,希望能认真看完,呵呵哒

评分

输书还可以,送到的速度也挺快

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有