《Android的设计与实现:卷I》

基本信息作者: 杨云君出版社:机械工业出版社ISBN:9787111417132上架时间:2013-4-26出版日期:2013 年4月开本:16开页码:1版次:1-1所属分类:计算机 > 软件与程序设计 > 移动开发 > AndroidAndroid的设计与实现:卷I更多关于 》》》《Android的设计与实现:卷I》内容简介计算机书籍  《android的设计与实现:卷i》是android应用开发工程师和android系统工程师进阶修炼的必读之作。它由资深android内核专家亲自执笔,从源代码角度,系统、深入、透彻剖析android系统框架层(framework)的设计思想和实现原理,为android应用工程师和系统工程师解决实际工作中的各种难题提供了原理性的指导。为了降低读者的阅读成本,《android的设计与实现:卷i》使用了大量简单的uml类图和序列图来展示类的层次结构和方法的调用流程,使读者能迅速读完《android的设计与实现:卷i》并领会其精髓!   “android的设计与实现”系列丛书主要围绕android系统的四层结构展开,通过源代码来分析各层的设计思想与实现原理,卷i则主要是针对framework(框架层)的。全书共12章,分为六个部分:基础篇(第1~2章)详细讲解了android的体系结构、源代码阅读和调试环境的搭建,以及整个框架的基础;启动篇(第3~4章)深入分析了android启动过程的机制和实现原理,能帮助读者全面理解框架层系统服务的运行基础;binder篇(第5~6章)着重分析了binder在native框架层和java框架层的机制和实现,能让读者深入理解进程间的通信模型;消息通信篇(第7章)重点分析了android的消息驱动和异步处理机制,能让读者深入理解线程间的通信模型;package manager篇(第8~9章)主要讲解了package manager的机制与实现,以及apk的安装方法与过程;activity manager篇(第10~12章)深入阐述了activitymanagerservice的运行机制、应用程序和进程的启动流程,以及进程管理机制。   《android的设计与实现:卷i》适合中高级的android应用开发工程师、android系统开发工程师、android系统架构师,以及负责对android系统进行调试和优化的工程师们阅读。目录《android的设计与实现:卷i》前言第一部分 基础篇第1章 android体系结构及源代码阅读环境搭建 / 21.1 android发展过程 / 21.2 android体系结构 / 31.2.1 静态视角的体系结构 / 31.2.2 动态视角的体系结构 / 71.3 android源码下载和编译 / 71.3.1 搭建开发环境 / 81.3.2 下载android上层系统源代码 / 91.3.3 下载指定模块源码 / 101.3.4 下载 android linux kernel源码 / 111.3.5 编译android上层系统源码 / 111.3.6 编译指定模块源码 / 121.4 android源码结构 / 141.5 android源码开发工具的配置和使用 / 151.5.1 配置android sdk / 151.5.2 用eclipse开发和调试源代码 / 161.5.3 用source insight阅读源代码 / 19.1.6 ndk开发环境配置 / 201.7 本章小结 / 21第2章 框架基础jni / 222.1 jni在android系统中所处的位置 / 222.2 jni框架层实例分析 / 232.2.1 log系统java层分析 / 242.2.2 log系统的jni层 / 242.2.3 log系统的jni方法注册 / 252.3 jni总管:jnienv / 272.4 在java中调用jni实现方法 / 292.4.1 java数据类型与jni数据类型转换 / 292.4.2 jni方法命名规则 / 302.4.3 jni方法签名规则 / 312.5 jni操作java对象 / 322.5.1 访问java对象 / 322.5.2 操作成员变量(域)和方法 / 332.5.3 全局引用、弱全局引用和局部引用 / 342.6 jni异常处理 / 362.7 jni应用层实例分析 / 382.7.1 java层分析 / 382.7.2 jni层代码和异常处理 / 392.8 本章小结 / 42第二部分 启动篇第3章 android启动过程的底层实现 / 443.1 android正常模式启动流程 / 443.2 kernel启动过程 / 443.2.1 内核引导阶段 / 453.2.2 内核启动阶段 / 463.3 init进程的执行过程 / 493.4 init.rc文件解析过程 / 533.4.1 android初始化语言 / 533.4.2 init.rc的内容 / 563.4.3 解析配置文件 / 573.4.4 解析service / 603.4.5 解析action / 633.5 触发并启动action和service / 653.5.1 触发action / 653.5.2 执行action / 663.5.3 启动service / 703.5.4 init对属性服务的处理 / 713.6 init循环监听处理事件 / 753.7 本章小结 / 77第4章 android 启动过程的上层实现 / 784.1 第一个dalvik虚拟机zygote / 794.1.1 zygote的配置 / 794.1.2 如何执行zygote服务程序 / 804.2 zygoteinit的启动过程 / 824.2.1 创建dalvik虚拟机 / 834.2.2 注册jni方法 / 854.2.3 开启java世界 / 884.3 zygoteinit开启java世界的五部分工作 / 894.3.1 注册zygote的socket / 894.3.2 预加载class资源和resource资源 / 894.3.3 启动system_server进程 / 924.3.4 执行methodandargscaller的run方法 / 984.3.5 执行runselectloopmode方法 / 1024.4 zygote处理home启动请求 / 1044.5 本章小结 / 112第三部分 binder篇第5章  binder在native框架层的实现 / 1145.1 binder与c/s体系结构概述 / 1145.2 servicemanager进程的启动过程 / 1155.2.1 初始化binder通信环境 / 1165.2.2 注册上下文管理者 / 1185.2.3 等待接收并处理ipc通信请求 / 1205.3 server的启动和service的注册过程 / 1285.3.1 创建processstate对象 / 1295.3.2 获取servicemanager的代理对象 / 1315.3.3 注册service / 1395.3.4 server进程开启线程池 / 1455.4 client端使用服务代理对象 / 1465.5 服务代理与服务通信 / 1495.6 本章小结 / 152第6章 binder在java框架层的实现 / 1536.1 java系统服务的创建过程 / 1536.1.1 创建javabbinderholder对象 / 1556.1.2 javabbinder的作用 / 1566.1.3 gbinderoffsets结构体解析 / 1566.2 java系统服务的注册过程 / 1596.2.1 调用binderinternal.getcontextobject方法 / 1606.2.2 调用servicemanagernative.asinterface方法 / 1656.2.3 调用servicemanagerproxy.addservice方法注册服务 / 1676.3 client端获取服务代理 / 1696.3.1 获取服务的binderproxy / 1706.3.2 构造服务的proxy对象 / 1726.3.3构造服务管理者对象 / 1736.4client端调用java系统服务的方法 / 1746.5统一的通信接口aidl / 1776.5.1aidl实例 / 1776.5.2aidl语法 / 1806.5.3处理自定义数据类型的传递 / 1816.6本章小结 / 182第四部分 消息通信篇第7章线程消息通信与异步处理 / 1847.1什么是looper线程 / 1847.2第一步:looper线程准备阶段 / 1857.2.1创建java层的looper对象 / 1867.2.2创建java层的messagequeue-对象 / 1867.2.3创建native层的nativemessage queue和looper对象 / 1877.2.4nativemessagequeue关联到messagequeue / 1897.3第二步:创建消息处理器并发送消息 / 1907.3.1handler的创建和初始化 / 1907.3.2message的创建和初始化 / 1137.3.3消息的发送过程 / 1927.4第三步:looper线程循环阶段 / 1987.4.1记录并获取当前线程身份信息 / 1987.4.2循环监听消息 / 1997.4.3分发消息到处理器 / 2057.4.4回收消息并更新消息池 / 2097.5异步任务类asynctask / 2107.5.1asynctask的实现 / 2117.5.2asynctask的执行 / 2147.6本章小结 / 223第五部分 package manager篇第8章package manager 的机制与实现 / 2268.1  package manager体系结构 / 2278.1.1三层体系结构 / 2278.1.2三层之间的关系 / 2288.2packagemanagerservice的启动过程 / 2318.2.1创建并初始化settings对象 / 2328.2.2获取系统默认配置 / 2368.2.3启动packagehandler / 2378.2.4创建data目录并初始化usermanager / 2398.2.5解析系统permission和feature信息 / 2428.2.6解析packages文件 / 2458.2.7dexopt优化判定 / 2478.2.8启动fileobserver监控apk文件的目录 / 2508.2.9调用scandirli方法扫描并安装apk包 / 2528.2.10更新packages文件 / 2538.3 packagemanagerservice启动过程使用的核心组件 / 2548.3.1java层的installer / 2558.3.2installd中的命令 / 2578.4本章小结 / 260第9章 apk的安装过程 / 2619.1 通过scandirli方法安装apk / 2619.1.1 创建packageparser / 2629.1.2 解析androidmanifest.xml文件 / 2639.1.3 过滤packageparser.package类型的pkg对象 / 2709.1.4 解析和安装pkg / 2749.2 使用adb命令安装应用程序 / 2829.2.1 通过消息机制安装指定的apk / 2839.2.2 调用handlestartcopy方法处理安装操作 / 2869.2.3 调用handlereturncode方法处理返回结果 / 2909.3  本章小结 / 293第六部分 activity manager篇第10章 activity manager的机制与实现 / 29610.1 activity manager概述 / 29610.2 activitymanagerservice在系统启动阶段的主要工作 / 29710.3 第一阶段:启动activity managerservice / 29910.3.1 启动athread线程 / 30010.3.2 创建activitythread对象 / 30210.3.3 创建activitystack类 / 30910.3.4 调用startrunning方法 / 31010.4 第二阶段:调用setsystemprocess方法 / 31010.4.1 查询并处理applicationinfo / 31210.4.2 创建并初始化processrecord / 31310.5 第三阶段:调用install-systemproviders方法 / 31510.5.1 查询content provider / 31610.5.2 安装content provider / 31710.6 第四阶段:调用systemready方法 / 32310.6.1 发送action_pre_boot_completed广播 / 32310.6.2 清理预启动的非persistent进程 / 32510.6.3 读取settings配置 / 32610.6.4 运行runnable回调接口 / 32710.6.5 启动persistent应用程序和home / 32810.7 本章小结 / 329第11章 应用程序activity的启动和调度 / 33011.1 启动应用程序activity时在client端的执行流程 / 33011.2 启动应用程序activity时在server端的执行流程 / 33411.2.1 预启动 / 33411.2.2 暂停 / 34811.2.3 启动应用程序进程 / 35611.2.4 加载应用程序activity / 36211.2.5 显示activity / 36911.2.6 activity idle状态的处理过程 / 37911.2.7 停止源activity / 38211.3 本章小结 / 387第12章 activity manager进程管理 / 38812.1 lru weight机制 / 38812.2 oom adj机制 / 39112.2.1 更新oom adj值 / 39212.2.2 oom adj的计算过程 / 40312.3 low memory killer机制 / 41412.3.1 oom adj等级和最小内存阈值 / 41412.3.2 lm killer机制的实现 / 41712.4 本章小结 / 419本图书信息来源:中国互动出版网

更多相关文章

  1. Android的系统构架
  2. Android编译系统分析
  3. 四极管:Android操作系统的结构
  4. android 如何获得系统权限 android.uid.system
  5. 图解Android - Android GUI 系统 (1) - 概论
  6. Android——编译release版签名系统

随机推荐

  1. 几个通用的类,迷你型的Android下载框架
  2. Android集成腾讯bugly-tinker热更新使用
  3. Android 的整体布局
  4. Android(安卓)SDK 1.5 "--core-library"
  5. Android图像处理相关文章
  6. Android下的Console命令
  7. Android短彩信源码解析-短信发送流程(二)
  8. android hessian
  9. Android(安卓)正则表达式
  10. 仿QQ android 实战(学习 android 先来个QQ