本文简单介绍一下Android系统, Android是基于Linux内核的开源的应用于移动平台一款操作系统。
它包含以下一些特色的功能:针对移动设备优化的Dalvik虚拟机, 基于开源浏览器引擎WebKit的集成浏览器,优化的2D图形库和基于OpenGL ES的3D图形库,用来存放结构化数据的SQLite,支持各种格式的多媒体,对蓝牙,WiFi,GPS的支持,当然最重要的还是强大的系统框架和API来方便我们重用它的组件,以及非常丰富的开发环境的支持,包括设备模拟器,Eclipse插件支持,内存性能剖析工具等。
下面来看一下Android的系统架构图:
这里可以看到Android需要Linux内核提供核心的功能,如驱动管理,内存管理,进程管理等。Android系统提供了供各种组件使用的C/C++类库。
Google针对移动设备内存小和处理器慢的特点,实现了一个非规范的Java虚拟机Dalvik。默认情况下,每个应用程序会在单独一个虚拟机的一个进程里运行,多个虚拟机可以并行运行。不像传统JVM运行class文件,Dalvik运行.dex格式的文件,它通常比同样class文件打成的.jar包要小,因为它进行了一些优化,比如同样的String只保存一个拷贝的String Interning方式。
接下来简单介绍一下Android系统包含的几大组件:
1) Activities: Android系统的用户界面都是基于Activity创建的,一个应用程序可以包括一个或者多个Activity, 但都是继承于android.app.Activity这个基类。每个Activity包括一个默认窗口用来填充一系列的View,用户通这些View来与Activity交互,Android系统提供了很多View的控件,如按钮,文本框,滚动条等。
2) Content providers: 它是对Android系统的数据访问的一种封装, 提供一系列标准的存取数据方法,不管数据是存在文件系统,还是SQLite数据库,各个应用程序都可以通过Content provider访问数据。如果想在各个应用程序之间共享数据也只有通过Content provider方式来实现。Android的编程模型也是鼓励我们创建自己的数据的同时,也可以让其它应用程序访问。比如在发送消息的应用程序用必然会调用到联系人的数据。
3) Services: 类似于windosw平台上的服务。不同于Activity和Content providers的短生命周期,Services可以一直在后台运行,而且可以独立于任一Activity,比如播放背景音乐,定时检查软件是否需要更新等。
4) Intents: 指Android中的系统消息。我们知道很多系统中各应用程序都是通过发送消息来进行交互的, Android正是通过Intents来通知应用程序的各种事件,比如电池电量不足,检测到存储卡等。
分享到:
相关推荐
android ndk详细介绍
Android基本介绍,介绍android 的基本架构
**Android介绍** Android是一种开源的、基于Linux内核的操作系统,主要应用于移动设备,如智能手机和平板电脑。自2008年首次发布以来,它已经迅速成为全球最广泛使用的移动操作系统之一,由Google公司领导的开放...
android介绍 android介绍 android介绍 android介绍
Android类库介绍.pdf`
android HID协议描述介绍,主要描述HID描述符,report等构造
android 移动开发 介绍
android系统框架介绍,Android系统 = Linux内核 + Android运行时。 Android系统使用的Linux内核包含了一些专用驱动,例如Logger、Binder、Ashmem、Wakelock、Low-Memory Killer和Alarm等,这些Android专用驱动构成了...
包含Android开发介绍和学习路线
Android专业介绍PPT
android平台的Dalvik虚拟机内部机制介绍,一些官方信息,Google Android Internal等
### Android BSP介绍 #### 一、引言 在Android系统开发过程中,Board Support Package(BSP,板级支持包)是连接硬件与操作系统之间的重要桥梁。本文将详细介绍Android BSP的相关概念,包括Android架构、框架、库...
Google Android 移动手机介绍与使用电子书; Google on the Go Using an Android-Powered Mobile Phone
对android的四大组件、生命周期、sqlite的简单介绍,适合给别人培训用
《AndroidKiller:一款强大的反编译与资源提取工具》 在移动开发领域,尤其是在Android平台上,有时开发者需要深入理解应用程序的工作原理或者寻找特定功能的实现方式,这就需要用到反编译工具。AndroidKiller就是...
本篇文章将详细介绍`merge`标签的使用方法及其优势。 `merge`标签最初被引入是为了减少视图层次,这是因为在Android系统中,每个视图层级都会带来额外的绘制开销。当我们在一个布局文件中嵌套多个视图时,这些层级...
android intent 介绍
本目录下的代码都是来自于我的博客《Android应用开发》系列文章,本系列文章介绍Android开发的一些基础和进阶知识,并附带有一些简单的Demo示例,这些示例代码中很多Java文件都对Android API进行了良好的封装,可以...