Android基本概念总结

Android平台特性

  1. 应用程序框架支持组件的重用与替换。

  这样我们可以把系统中不喜欢的应用程序删除,安装我们喜欢的应用程序。

  2. Dalvik虚拟机专门为移动设备进行了优化。

  Android应用程序将由Java编写、编译的类文件通过DX工具转换成一种后缀名为.dex的文件来执行。Dalvik虚拟机是基于寄存器的,相对于Java虚拟机速度要快很多。

  3. 内部集成浏览器基于开源的WebKit引擎。

  有了内置的浏览器,这将意味着WAP应用的时代即将结束,真正的移动互联网时代已经来临,手机就是一台“小电脑”,可以在网上随意遨游。

  4. 优化的图形库包括2D和3D图形库,3D图形库基于OpenGL ES 1.0。

  强大的图形库给游戏开发带来福音。在3G最为重要的的应用莫过于手机上网和手机游戏。

  5. SQLite用作结构化的数据存储。

  6. 多媒体支持包括常见的音频、视频和静态印象文件格式

  如MPEG4、H.264、MP3、AAC、AMR、JGP、PNG、GIF。

  7. GSM电话(依赖于硬件)。

  8. 蓝牙(Bluetooth)、EDGE、3G、WiFi(依赖于硬件)。

  9. 照相机、GPS、指南针和加速度计(依赖于硬件)。

  10. 丰富的开发环境包括设备模拟器、调试工具、内存及性能分析图表和Eclipse集成的开发环境插件。

  Google提供了Android开发包SDK,其中包含了大量的类库和开发工具,并且针对Eclipse的可视化开发插件ADT。

Android平台架构

1. 程序应用

  Android 连同一个核心应用程序包一起发布,该应用程序包包括E-mail客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是用Java编写的。

  2. 应用程序框架

  开发者完全可以访问核心应用程序所使用的API框架。该应用程序框架架构用来简化组件软件的重用,任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。

  以下所有的应用程序都由一系列的服务和系统组成,包括:

  1)一个可扩展的视图(Views)可以用来创建应用程序,包括列表(lists)、网络(grids)、文本框(text boxes)、按钮(buttons),甚至是一个可嵌入的Web浏览器。

  2)内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

  3)一个资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串、图形和分层文件(layout files)。

  4)一个通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。

  5)一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。

  3. Android程序库

  Android包括一个被Android系统中各种不同组件所使用的C/C++集库。该库通过Android应用程序框架为开发者提供服务。

  以下是一些主要的核心库:

  1)系统C库:一个从BSD继承来的标准C系统函数库(libc),专门为基于Embedded Linux的设备定制。

  2)媒体库:基于PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态映像文件包括MPEG4、H.264、MP3、AAC、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:一个对于所以应用程序可用、功能强劲的轻型关系型数据库引擎。

  4. Android运行库

  Android包括了一个核心库,该核心库提供了Java编程语言核心库的大多数功能。

  每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对同时高效地运行多个VMs实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都是经由Java汇编器编译,然后通过SDK中的DX工具转化成.dex格式由虚拟机执行。

  Dalvik虚拟机依赖于Linux的一些功能,比如线程机制和底层内存管理机制。

  5. Linux内核

  Android的核心系统服务依赖于Linux内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的硬件抽象层。

时间: 2024-08-06 16:19:26

Android基本概念总结的相关文章

[Android]基本概念

1. 系统架构 Android的总体系统架构由四个大的层次组成: 1) Linux内核 Android构建在一个较为稳定的基础之上:Linux内核.Android使用Linux完成其内存管理.进程管理.网络和其他操作系统服务工作.开发期间需要的某些实用程序要和Linux打交道,例如adb shell命令打开一个Linux shell,从中可以输入要在设备上运行的其他命令. 2) 本机库 Linux内核层上面一层中包含了Android的本机库,这些共享库都是用C或C++语言编写的,并且针对手机使用

Arcgis Android 基本概念 - 浅谈

MapView     MapView 是 Android 中 ViewGroup的子类,也是 ArcGIS Runtime SDK for Android 中的地图容器,与很多 ArcGIS API 中的 Map.MapControl类作用是一样的.      MapView 可以添加一个或多个图层,图层只有添加到 MapView 容器中才能进行显示. Layer 在 GIS 中图层是很重要的概念, 图层是空间数据的载体,通过它可将各种类型的地图数据进行加载显示,但图层只有添加到 MapVie

Android 常用概念理解

在看Android代码运行机制时,经常会遇到一些不太理解的词,在此把我遇到的一些词以及理解整理下: 1.Android系统,整体来讲它是属于消息驱动型类型,简单说就是系统中应用的各个组件都是靠消息来交互,系统中会有一个主线程会循环执行Looper中的消息队列. 2.编译时:只有编译成功后才能生成可执行代码,简单理解就是语法要符合Android系统的要求,如数学中的运算法则. 3.运行时:简单理解就是当代码执行到那行代码时,(如Android系统中findViewById,只要存在相应id就不会报

Android基本概念(一)

(一)四大组件: 活动(Activity),广播接收器(Broadcast Receiver),服务(Service),内容提供器(Content Provider) (二)Android工程程序结构 src:放置源代码的文件夹 gen:系统自动生成标识资源ID的文件,不要手动更改 assets:很少使用,可以放置一些打包文件 bin:系统自动生成安装包的文件夹,*.apk就是手机可以安装的文件 libs:如果用到第三方的库,放置到这个文件夹下 res:系统的资源,非常重要 AndroidMan

Android 基础概念了解

Android 的前世今生Android 系统框架Android 主要组成 部分Android 常用的操作 Android 的前世今生 Android 的诞生 2003年10月,有"Android之父"之称的安迪·鲁宾(Andy Rubin)在美国加利福尼亚州帕洛阿尔托创建了Android科技公司(Android Inc.). Android 的发展历程 2005年8月17日谷歌公司(Google)收购了这家公司,并不断将其开发成为现在的安卓系统. 2007年11月12日,Androi

android 事件处理概念簇

1)事件传递函数 2)事件相关: 事件.事件源.事件监听器.MotionEvent 3)坐标系.定位.路由: 4)Window activity view viewGroup

Android学习笔记(一):基本概念

本文内容引用于<Android开发教程&笔记> Android的概念: Android是一个专门针对移动设备的软件及,它包括一个操作系统,中间件和一些重要的应用程序.Beta版的Android SDK提供了在Android平台上使用Java语言进行Android应用开发必须的工具和API接口. 特性 • 应用程序框架 支持组件的重用与替换• Dalvik 虚拟机 专为移动设备优化• 集成的浏览器 基于开源的 WebKit 引擎• 优化的图形库 包括定制的2D 图形库,3D 图形库基于

android插件化-apkplug中OSGI服务基本原理-08

我们提供 apkplug 下OSGI使用demo 源码托管地址为 http://git.oschina.net/plug/OSGIService 一 OSGI与android Service 异同点 OSGI服务与android Service概念差不多也是Service ,Client 关系. android Service接口  --service.AIDL OSGI接口                --java interface 所以android 进程间通信Service只能传递序列

Android开发1、2周——GeoQuiz项目

GeoQuiz项目总结 通过学习Android基本概念与构成应用的基本组件,来开发一个叫GeoQuiz的应用.该应用的用途是测试用户的地理知识.用户单击TRUE或FALSE按钮来回答屏幕上的问题,GeoQuiz可即时反馈答案正确与否. 开发前的准备工作 想要开发一个Android应用,首先要在电脑上装上开发软件.在这里推荐Android Studio,本文所有的开发都是在该平台上进行的. Android Studio的安装包括: 1.Android SDK 最新版本的Android SDK. 2