【Android】平台架构分析

35 篇文章 0 订阅
18 篇文章 0 订阅

Android是一种软件协议栈移动设备,其中包括操作系统,中间件以及关键应用.

Android SDK(Software Development Kit,即软件开发工具包)提供了用Java编程语言在Android平台下开发应用程序必需的工具与API(Application Programming Interface,应用程序编程接口).

Android系统主要由5个部分组成:

  1. 应用程序层(Application)Android应用程序层包含了一系列的核心程序,如email邮件客户端、SMS程序、日历、地图、联系人和浏览器等。
  2. 应用程序框架(Application Framework)通过一个开放的开发平台,Android提供给开发者建立极其丰富和创新应用的能力,开发者可以自由地享有硬件设备的以下优势:
    • Activity Manager(活动管理器):管理应用的生命周期,并提供一个通用的导航后台.
    • Window Manager(窗口管理器):主要是用来管理窗口的一些状态、属性、窗口顺序、消息收集和处理,以及View增加、删除和更新等.
    • Content Manager(内容管理器):内容提供者使应用可以访问其他应用数据(比如电话本),或是共享其应用的数据.
    • View Manager(视图管理器):提供了一系列丰富且可扩展地视图,可用于创建应用,其视图主要有lists、grids、text boxes、buttons,以及一个嵌入式的web浏览器.
    • Package Manager(包管理器):对所有基于加载信息的数据结构的封装,包括安装或卸载应用、查询permission(权限)相关信息、查询Application相关信息(application,activity,receiver,service,provider及相应属性等)、增加或删除permission、清除用户数据、缓存、代码段等.
    • Telephony Manager(电话管理器):是一个管理手机通话状态、电话网络信息的服务类.
    • Resource Manager(资源管理器):提供访问非代码的资源能力,如本地化字符串,图形和布局文件等.
    • Location Manager(位置管理器):是位置服务的核心组件,它提供了一系列方法来处理与位置相关的问题,如实现GPS定位等.
    • Notification Manager(通知管理器):使所有的应用都能在状态栏显示自定义的通知.
  3. 函数库(Libraries)
    • Surface Manager:表面管理器,管理显示子系统,并可以对多个应用程序的2D和3D图层提供无缝整合.
    • Media Framework:媒体框架,提供媒体库,并基于PackerVideo的OpenCore,这套媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片.
    • SQLite:一个嵌入式的数据库引擎,供所有应用程序使用的、功能强大的轻量级关系数据库.
    • OpenGL | ES:开放的图形库接口,它定义了一个跨编程语言、跨平台的编程接口的规范,它主要用于三维图形编程,但实际上二维图形也可以.
    • FreeType:位图和向量字体显示.
    • WebKit:一个开源的浏览器网页排版引擎,包括WebCore排版引擎和JS排版引擎.
    • SGL:底层的2D图形引擎.
    • SSL(Secure Sockets Layer):安全套接层,是为网络通信提供安全及数据完整性的一种安全协议.
    • libc:标准C系统库.
  4. Android运行时(Android Runtime):由两部分组成,Android核心库集(Core Libraries)和Dalvik虚拟机(Dalvik Virtual Machine).核心库集提供了Java语言核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序.
  5. Linux内核(Linux Kernel):Android系统是建立在Linux 2.6之上,Linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务.以下为Linux内核提供的相关的驱动模型:
    • Display Driver(显示驱动):常用基于Linux的帧缓冲(Frame Buffer)驱动.
    • Camera Driver(照相机驱动):常用基于Linux的V4L(Video for Linux)驱动.
    • Flash Memory Driver(Flash内存驱动):基于MTD(Menory Technology Dervice,内存技术设备)的Falsh驱动程序.
    • Binder(IPC,进程间通信) Driver:Android一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能
    • Keypad Driver(键盘驱动):作为输入设备的键盘驱动.
    • Wifi Driver(Wifi 驱动):基于IEEE 802.11(无线局域网标准)标准的驱动程序.
    • Audio Driver(音频驱动):常用基于ALSA(Advanced Linux Sound Architecture,高级Linux声音体系)驱动.
    • Bluetooth Driver(蓝牙驱动):基于IEEE 802.15.1标准的无线传输技术.
    • Power Management(能源管理):提供控制设备电源状态的管理功能.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值