Android之平台架构
android平台及架构简述
android系统的底层是建立在linux系统之上,是由操作系统、中间件、用户界面和应用软件四层组成。该四层确
保了层与层之间的低耦合,当下层发生改变时,上层应用程序无需做任何改变。(关于android的体系结构可以参考
android官方文档),Android平台采用了整合的策略思想,包括底层Linux操作系统、中间层的中间件和上层的Java
应用程序。
android系统主要部分的组成
应用程序层
应用程序层主要存放一些android的应用程序,比如电子邮件客户端、SMS程序、日历、地图、浏览
器、联系人等等一系列的应用。(当然这些应用都是java编写的)
应用程序框架
当我们去编写应用程序时,必不可少的是一定会去调用一些API,那应用程序框架就是提供开发者
去开发应用程序所需的大量的API。应用程序框架除了作为应用程序开发的基础外,也是软件复用的重要手段。
以下所有的应用程序都由一系列的服务和系统组成,包括:
1、一个可扩展的视图(Views)可以用来创建应用程序,包括列表(lists)、网络(grids)、文本框(text
boxes)、按钮(buttons),甚至是一个可嵌入的Web浏览器。
2、内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或
者共享它们自己的数据。
3、一个资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串、图形和分层文件(layout
files)。
4、一个通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。
5、一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。
函数库
android有一套被不同组件所使用的C/C++库的集合。一般应用开发者不能直接去调用这套库集,但可以通
过应用程序框架去调用这些库。
下面列出一些核心的库:
1、系统C库:一个从BSD系统派生出来的标准C系统库,专门为嵌入式linux设备调整过。
2、媒体库:基于PacketVideo的OpenCORE,支持播放一些流行的音频和视频格式,以及查看静态图片。
3、Surface Manager:管理对显示子系统的访问,并对多个应用程序的2D和3D图层机制提供无缝整合。
4、LibWebCore:一个Web浏览器引擎,为android浏览器提供支持。
5、SGL:底层的2D图形引擎。
6、3D libraries:可使用硬件3D加速,也可使用搞定优化的,软件3D加速。
7、FreeType:位图和向量字体显示。
8、SQLite:供所有应用程序使用的,功能强大的轻量级关系数据库。
android运行时
android运行时由两部分组成:android核心库集和Dalvik虚拟机。核心库集提供了java语言核心库所能使用的绝
大部分功能,虚拟机则负责运行android应用程序。
每个android应用程序都运行在单独的Dalvik虚拟机内。
Linux内核
Linux内核提供安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。Linux内核也是系统硬件
和软件叠层之间的抽象层。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/10995151情绪控
Android之平台架构相关推荐
- Android更新平台架构方案
这篇文章是去年写的,我们的两款app一直这使用umeng的更新服务,但是16年umeng开始放弃更新服务,考虑到切换到其他更新平台也会面临这样的问题,我开始着手自己搭建一个更新平台.整体方案包含前后端 ...
- android 更新平台,Android更新平台架构方案
这篇文章是去年写的,我们的两款app一直这使用umeng的更新服务,但是16年umeng开始放弃更新服务,考虑到切换到其他更新平台也会面临这样的问题,我开始着手自己搭建一个更新平台.整体方案包含前后端 ...
- Android学习笔记之Android平台架构和特性
一.Android的平台架构及特性 Android系统的底层建立在Linux系统之上,该平台由操作系统,中间件,用户界面和应用软件4层组成.采用一种被称为软件叠层的方式进行构建. 1.应用程序层(Sy ...
- Android Platform Architecture 安卓平台架构
Android Platform Architecture 安卓平台架构 Android is an open source, Linux-based software stack created f ...
- MTK平台camera bsp学习之android平台架构篇
android平台架构(简单了解,都是csdn上看其他博客摘抄下来) 从上到下:分为 APP层 framework层 native层 hal层 kernel层 camera bsp侧重点:kernel ...
- 全志平台Android系统WIFI架构工作流程分析
1. 前言 记录个人最近对Android wifi的了解和使用感受, 并为想入门.学习Android wifi的人员提供一定的参考 2. Android系统中的WIFI架构 wifi在Android中 ...
- Android之系统架构
Android 是Google开发的基于Linux平台的开源手机操作系统.它包括操作系统.用户界面和应用程序 -- 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍.Andr ...
- 怎样搭建Android开发平台(转)
Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放手机联盟(Open Handset Alliance)开 ...
- 安卓学习笔记04:安卓平台架构
文章目录 零.学习目标 一.安卓平台架构 (一)安卓平台架构简述 1.Linux 内核 2.硬件抽象层 (HAL) 3.安卓运行时(Android Runtime) 4.原生 C/C++ 库 5.Ja ...
最新文章
- centos 网卡聚合及Cisco交换机链路聚合
- VMware安装CentOS之三——CentOS网络设置及软件安装
- Windows下的搜索神器 —— everything
- 蚂蚁金服大规模分布式事务实践和开源历程
- Sping boot系列--redis之2 -- RedisKeyValueTemplate处理Model对象
- vs连接oracle数据库报错,用VS连接oracle数据库时ORA-12504错误
- matlab 箱图不显示异常值_无功功率显示值与计算值不匹配?
- Redis命令行之Hash
- scala切片_Scala切片功能
- Moorhuhn Kart 2 XXL Maps
- 使用HTML Help Workshop将HTML转为CHM
- iOS开发之NSString和UTF-8间的转换
- 拓端tecdat|R语言多臂试验 - 我们应该考虑多重性吗?
- iOS网络请求架构图URL Loading System
- STM32启动代码学习
- 羲云社区团购微信小程序 活动详细页 (界面及功能设计)
- ai跟随路径_Illustrator描边路径 AI指定数量沿全路径混合小技巧 AI制版文字变粗...
- 汽车操作系统攻防综述
- aix kill java_AIX环境Java进程cpu瓶颈分析(转)
- WEB HLS播放器 及 跨域配置