Android 的结构
2015-11-02 18:04
218 查看
除了应用于手机及平板的Android本身以外, Android还有其它三个分支: 应用于可穿戴设备的Android Wear; 应用于家用电视的Android TV, 还有专为汽车设计的Android Auto.
随着Google及手机厂商的大力推广,目前Android市场占有率53.54%遥遥领先于其主要竞争对手iOS的38.81%, 前景大好.
Android的结构.
Android的结构图:1. Linux Kernel:
所有的Android都是基于Linux内核开发的, 最新版本的Android6.0基于Linux Kernel 3.4.0. 这一层主要提供硬件设备驱动, 开发Android手机上的驱动方式与开发传统Linux上的驱动类似, Android的Linux内核在原有的基础上增加了一些Android独有的特性, 如Binder IPC Driver, 唤醒锁以及其他嵌入式平台的专用模块,
2. HAL:
HAL(Hardware abstraction layer)即硬件抽象层, 为各硬件厂商定义了标准的接口, 以避免Android上层直接与硬件交互, HAL通常以.so文件的模式提供接口. 这些文件将会在需要的时候由Android动态加载.
3. System services:
是Framework与HAL的中间层, 向Framework和Application提供服务, 以防止上层应用直接访问硬件层. Android包含两种服务: 系统服务(如Window Manager ,Notification Manager等)和多媒体服务(音视频以及相机等服务).
4. Binder IPC:
IPC比较常见了, Inter-ProcessCommunication, 内部进程通信, Application Framework可以通过Binder IPC来访问系统服务, 使系统服务以下对开发者不可见. 很重要.
5. Application framework:
这部分是应用开发者接触最多的部分, APP开发人员常见的接口大多数都在这里. 一些常用的Framework模块:
View--丰富的可扩展的视图集合,可用于构建一个应用程序.包括列表,网格,文本框,按钮,甚至是内嵌的网页浏览器.
Content Providers--使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据。
Resource Manager--提供访问非代码资源,如本地化字符串,图形和布局文件.
Notification Manager--使所有的应用程序能够在状态栏显示自定义警告.
Activity Manager--管理应用程序生命周期,提供通用的导航回退功能.
目前该领域需要的人才多数是应用开发, 通常需要对Application framework, UI设计, 及网络通信有较高的要求, 还有部分需要NDK的经验.
从当前Android及互联网的发展势头来判断, 有理由相信Android还会继续火爆下去.
以上信息来自维基百科和http://source.android.com
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories