Android简介 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良 Android系统,随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008 年10月,随后,Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。 Android架构 从上往下是:APPLICATION、APPLICATION FRAMEWORK、Android Runtime和Libraries、Linux Kernel APPLICATION:应用层,主要是系统应用,如闹铃,电话,短信等等 APPLICATION FRAMEWORK:应用框架层,改层实际上是一个应用程序的框架。由于上层的应用程序是以JAVA构建的,因此本层提供一下服务: 1.丰富且可扩展的视图,也可以来构建程序,包括列表,网络,文本框,按钮等等 2.内容提供器:是应用程序可以访问另一个应用程序,例如:访问联系人的数据库等 3.资源管理器:提供非源码访问,如本地字符串,图形,布局文件等 4.通知管理器:使应用程序可以在状态栏中显示自定义的提示信息 5.活动管理器:用来管理应用程序生命周期并提供导航回退功能 Android Runtime和Libraries:安卓运行库及共享库 Android Runtime:是安卓的核心库,该库提供JAVA语言核心库的大多数功能,每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 “dx” 工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。 Libraries:Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库: 1. 系统 C 库:一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。 2. 媒体库:基于 PacketVideo OpenCORE。该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。 3. Surface Manager:对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。 4. LibWebCore:一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。 5. SGL:底层的2D图形引擎 6. 3D libraries:基于OpenGL ES 1.0 APIs实现,该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。 7. FreeType:位图(bitmap)和矢量(vector)字体显示。 8.SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
Linux Kernel:内核层,Android 的核心系统服务依赖于 Linux 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。
版权声明:本文为CSDN博主「宇落无痕」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/fu_kevin0606/article/details/79532710
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:Android Framework入门介绍 https://www.yhzz.com.cn/a/15554.html