【Android源码 栏目提醒】:网学会员鉴于大家对Android源码 十分关注,论文会员在此为大家搜集整理了“深入理解Android PDF - 综合课件”一文,供大家参考学习
Android Android 内核剖析 第1讲 深入理解
Android Android Android 内核剖析 纲要 分享故事 什么是
Android安卓
Android系统架构★
Android系统的初始化过程
Android开发方式 小结
Android Android 内核剖析 分享故事 从前有两个饥饿的人得到了一位长者的恩赐一根鱼竿和一篓鲜活硕大的鱼。
其中一个人要了一篓鱼另一个人要了一根鱼竿于是他们分道扬镳了。
得到鱼的人原地就用干柴搭起篝火煮起了鱼他狼吞虎咽还没有品出鲜鱼的肉香转瞬间连鱼带汤就被他吃了个精光不久他便饿死在空空的鱼篓旁。
另一个人则提着鱼竿继续忍饥挨饿一步步艰难地向海边走去可当他已经看到不远处那片蔚蓝色的海洋时他浑身的最后一点力气也使完了他也只能眼巴巴地带着无尽的遗憾撒手人间。
又有两个饥饿的人他们同样得到了长者恩赐的一根鱼竿和一篓鱼。
只是他们并没有各奔东西而是商定共同去找寻大海他俩每次只煮一条鱼他们经过遥远的跋涉来到了海边从此两人开始了捕鱼为生的日子几年后他们盖起了房子有了各自的家庭、子女有了自己建造的渔船过上了幸福安康的生活 启示一个人只顾眼前的利益得到的终将是短暂的欢愉一个人目标高远但也要面对现实的生活。
只有把理想和现实有机结合起来才有可能成为一个成功之人。
有时候一个简单的道理却足以给人意味深长的生命启示。
Android Android 内核剖析 1、什么是
Android 单词的直译
Android机器人
Android是现在十分热门的一个手机操作系统是Google于2007年11月5日宣布的基于Linux平台开发的开源手机操作系统 号称是首个为移动终端打造的真正开放和完整的移动软件。
android手机搭载
android系统的智能手机。
Android Android 内核剖析 1、什么是
Android 智能手机软件平台有 Symbian Windows Mobile RIM BlackBerry
Android iPhone Palm Brew Java/J2ME。
Android Android 内核剖析
Android Android 内核剖析 2、
Android平台架构及特性
Android系统在底层建立在Linux系统之上该平台由操作系统、中间件、用户界面和应用软件四层组成。
Android Android 内核剖析 2、
Android平台架构及特性 应用程序层
Android的应用程序通常涉及用户界面和用户交互这类程序是用户实实在在能感觉得到的。
Android的应用程序目前以Java程序进行编写。
Android本身提供了桌面 联系人电话浏览器等众多核心应用。
开发者还可以使用应用程序框架层的API实现自己的程序
Android Android 内核剖析 2、
Android平台架构及特性 应用程序框架 开发人员可以利用这套应用框架开发出很好的应用程序。
应用框架主要部分 1.ViewsUI组件 2.Content Providers 3.Resource Manager 4.Notification Manager 5.Activiy Manager
Android Android 内核剖析 2、
Android平台架构及特性 函数库 C库系统最底层的库C库是用linux的系统来调用 多媒体框架MediaFramewordandroid多媒体核心部分基于PacketVideo的openCode从功能上分为2部分音频和视频的回放playback、音频和视频的记录Recoder SGL:2D图像引擎 OpenGL:3D的支持 SSL:安全协议 界面管理工具sm管理显示子系统 WebKit网络浏览器核心 SQLite: 通用嵌入式关系型数据库 FreeType位图和矢量字体
Android Android 内核剖析 2、
Android平台架构及特性 Linux 内核
Android 的核心系统服务依赖于 Linux 2.6 内核如安全性内存管理进程管理 网络协议栈和驱动模型。
Linux 内核也同时作为硬件和软件栈之间的抽象层。
Android Android 内核剖析 2、
Android平台架构及特性 Java世界JNI层Linux OSNative世界系统调用进程间通信系统调用Java世界与Native世界交互
Android Android 内核剖析 3、
Android系统的初始化过程
Android系统本身非常强大在深入分析每个模块的具体功能之前有必要对其启动过程进行分析。
1、首先会启动Linux基础系统然后引导加载Linux Kernel并启动初始化进程Init如图所示 图1-1启动Init进程 Linux KernerInitAndroid
Android 内核剖析 3、
Android系统的初始化过程 2、接着启动Linux守护进程daemons。
图1-2启动Linux守护进程
Android Android 内核剖析 3、
Android系统的初始化过程 3、在启动Linux守护进程的同时还需要启动Zygote进程如下图所示 4、再接着需要初始化runtime进程过程如下图所示。
1-3 初始化runtime进程
Android Android 内核剖析 3、
Android系统的初始化过程 5、runtime进程初始化后将发送一个请求到Zygote开始启动系统服务。
这时Zygote将为系统服务进程建立一个虚拟机实例并启动系统服务如图1-4所示。
图1-4启动系统服务
Android Android 内核剖析 3、
Android系统的初始化过程 6、系统服务将启动原生系统服务主要包括Surface Flinger和Audio Flinger。
这服务将注册到服务管理器Service Manager作为IPC服务目标如图1-6所示。
图1-5启动本地服务并注册
Android Android 内核剖析 3、
Android系统的初始化过程 7、系统服务将启动
Android管理服务
Android管理服务将都被注册到服务管理器上如图1-6所示。
图1-6 启动并注册
Android服务
Android Android 内核剖析 3、
Android系统的初始化过程 8、当系统加载完所有的服务之后会处于等待状态但是每一个应用程序都将启动一个单独的进程。
这时系统将启动一个Home进程和一个Contacts进程各个进程通过IPC机制进行交互。
在这里整个启动过程就结束了可以在上面运行应用程序了。
Android Android 内核剖析 4、
Android开发方式
Android系统开发移植
Android系统的开发属于底层的的开发工作主要针对
Android系统本身进行完善和将其移植到其他的硬件平台因此需要掌握
Android系统架构中的Linux内核层和系统运行库层。
Android 系统开发主要涉及Libraries和
Android Runtime这两部分一般就是在本地编写C/C。
Android 系统移植则主要涉及硬件抽象层和Linux内核层移植主要工作是将驱动移植到不同的硬件上使其能够完美地运行
Android 系统。
Android Android 内核剖析 4、
Android开发方式 在
Android系统需要移植的内容主要包括以下各个部分 显示部分Display:包括framebuffer驱动Gralloc模块 用户输入部分Input包括Event驱动EventHub 多媒体编解码Codec:包括Codec驱动 Codec插件 音频部分Audio包括Audio驱动 Audio硬件抽象层 视频输出部分Vedio Out:包括视频显示驱动Overlay硬件抽象层 摄像头部分Camera:包括Camera Camera硬件抽象层 全球定位系统GPS包括GPS GPS硬件抽象层 无线WIFIWlan驱动和协议WIFI的适配层 蓝牙部分Blue Tooth:BT驱动和协议BT的适配层 传感器部分Sensor: Sensor驱动 Sensor硬件抽象层 震动器部分Vibrator: Vibrator驱动 Vibrator硬件抽象层 电池部分Battery:Power Supply驱动电池的硬件抽象层
Android Android 内核剖析 4、
Android开发方式
Android系统的移植可以分为以下几个类型 基本图形用户界面GUI部分包括显示及用户输入部分 和硬件相关的加速部分包括媒体编解码和OpenGL 音视频输入输出环节包括音频、视频和摄像头部分 连接部分包括无线WIFIBlueToothGPS 附属部件包括传感器、背光、振动等。
Android Android 内核剖析 4、
Android开发方式
Android应用开发
Android应用开发主要是根据
Android系统所提供的API来完成各种应用程序的编写。
所使用的API属于
Android的应用框架层。
应用开发属于上层开发不需要接触底层的C/C代码所以开发前我们只需要准备
Android SDK和模拟器你可能也需要使用IDE推荐使用Eclipse。
Android Android 内核剖析 小结 了解
Android概念及发展 掌握
Android的架构 掌握应用程序启动的过程 了解
Android的开发方式
上一篇:
调试android程序的三种方法
下一篇:
电咖汽车入选2018独角兽企业榜百强 发布“天际”品牌将推高估值