安卓系统架构

为了让你能够更好地理解 Android 系统是怎么工作的,我们先来看一下它的系统架构。
Android 大致可以分为四层架构,五块区域。
1. Linux 内核层
Android 系统是基于 Linux 2.6 内核的,这一层为 Android 设备的各种硬件提供了底
层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等。
2. 系统运行库层
这一层通过一些 C/C++库来为 Android 系统提供了主要的特性支持。如 SQLite 库提
供了数据库的支持,OpenGL|ES 库提供了 3D 绘图的支持,Webkit 库提供了浏览器内核
的支持等。
同样在这一层还有 Android 运行时库,它主要提供了一些核心库,能够允许开发者
使用 Java 语言来编写 Android 应用。另外 Android 运行时库中还包含了 Dalvik 虚拟机,
它使得每一个 Android 应用都能运行在独立的进程当中,并且拥有一个自己的 Dalvik 虚
拟机实例。相较于 Java 虚拟机,Dalvik 是专门为移动设备定制的,它针对手机内存、
CPU 性能有限等情况做了优化处理。
3. 应用框架层
这一层主要提供了构建应用程序时可能用到的各种 API,Android 自带的一些核心
应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。
4. 应用层
所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等
程序,或者是你从 Google Play 上下载的小游戏,当然还包括你自己开发的程序。

时间: 2024-10-27 16:31:22

安卓系统架构的相关文章

软件体系结构---安卓系统架构之应用程序框架层分析---1

本博客只介绍安卓系统架构中的应用程序框架层 什么是应用程序框架? 应用程序框架可以说是一个应用程序的核心,是所有参与开发的程序员共同使用和遵守的约定,大家在其约定上进行必要的扩展,但程序始终保持主体结构的一致性.其作用是让程序保持清晰和一目了然,在满足不同需求的同时又不互相影响. 而对于安卓来说:Android系统提供给应用开发者的本身就是一个框架,所有的应用开发都必须遵守这个框架的原则.我们在开发应用时就是在这个框架上进行扩展.在这个框架中我们可以完全访问核心应用程序所使用的API框架,即我们

Android 安卓系统架构介绍

android系统架构   从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层.应用程序框架层.系统运行库层以及Linux内核层,分别介绍如下: 1)应用程序层 Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序.电话拨号程序.图片浏览器.Web浏览器等应用程序.这些应用程序都是       用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和

android入门知识:安卓的系统架构详细解析

对于很多新手来说安卓系统架构都不是很了解,麦子学院android开发老师讲过,Android 是Google开发的基于Linux平台的开源手机操作系统.它包括操作系统.用户界面和应用程序 -- 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍.Android采用WebKit浏览器引擎,具备触摸屏.高级图形显示和上网功能,用户能够在手机上查看电子邮件.搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台.这

为什么安卓系统大内存却比IOS卡顿

内存管理,深受Windows下释放内存加速系统毒害,人们误以为内存剩余越多越好.其实不然,当一个应用程序退出时,OS不应该立即释放其内存,而是要等到内存不够用了才开始释放.Why? (1)有些应用频繁启动关闭,启动时,如果程序已经加载到了内存中,那么启动速度将飞快.相反的,如果不在内存,就需要从外部存储里面读取,需要等待,比较慢. (2)内存使用率越高越好.内存是易失性存储设备,当断电了数据就会消失,使用时还需要不断刷新.刷新0,还是1,对于功率是不会产生大的影响,所以也不会存在,内存使用率低,

Android的系统架构

Android的系统架构层分为四层: Application 主要是用于存放应用程序 Application FrameWord 支持应用层中的软件运行 Libraries+Android Runtime 系统库+安卓的运行环境 Linux Kernel 安卓底层是Linux内核,提供了各种驱动 转载请标明出处,谢谢!

微信系统架构

微信的成功归结于腾讯式的"三位一体"策略:即产品精准.项目敏捷.技术支撑.微信的成功是在三个方面的结合比较好,能够超出绝大多数同行或对手,使得微信走到比较前的位置.所谓产品精准,通俗的讲就是在恰当的时机做了恰当的事,推出了重量级功能,在合适的时间以最符合大家需求的方式推出去.他认为在整个微信的成功中,产品精准占了很大一部分权重. 敏捷是一种态度 敏捷就是试错 微信研发团队里鼓励一种试错的信仰:他们坚信,在互联网开发里,如果能够有一个团队在更短的时间内尝试了更多机会(并能改进过来),就能

Android面试题 描述一下android的系统架构

android系统架构从下往上为linux内核层.运行库.应用程序框架层和应用程序层. Linux Kernel:负责硬件的驱动程序.网络.电源.系统安全以及内存管理等功能. Libraries和android Runntime: Libraries:即c/c++函数库部分,大多数都是开放源代码的函数库,例如webkit(引擎),该函数库负责android网页浏览器的运行,例如标准的c函数库libc.openssl.sqlite等,当然也包括支持游戏开发2dsgl和3dopengles,在多媒体

第一章:安卓系统移植与驱动开发概述

<Android深度探索>(卷1)HAL与驱动开发读后感: 这一章主要概括的介绍了安卓驱动开发和系统移植的主要内容,对安卓与Linux驱动做了一个总体的介绍.通过对第一章的学习,使我对Linux驱动开发有了一个感性的认识.在学习过程中,首先,我通过以往上课时学习到的知识和查阅资料了解了一些专业词汇的含义(例如:.so文件:共享库,是shared object,用于动态连接:SDK:软件开发工具包:API:应用程序编程接口:HAL:硬件抽象层等),并在文中做了相应的标注,为以后更好的学习安卓驱动

千万pv大型web系统架构,学习从点滴开始

架构,刚开始的解释是我从知乎上看到的.什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像.更抽象一点,说架构其 实 是 对 我 们 重复性业务 的抽象和我 们 未来 业务 拓展的前瞻,强调过去的经验和你对整个行业的预见. 我们要想做一个架构的话需要哪些能力?我觉得最重要的是架构师一个最重要的能力就是你要有 战 略分解能力.这个怎么来看呢: 第一,你必须要有抽象的能力,抽象的能力最基本就是去重,去重在整个架构中