探秘丰富多彩的Android 应用程序 |
本文标签:Android 应用程序 谷歌和其它几十个手机公司建立了开放手机联盟,Android在未公开之前常被传闻为Google电话或GPhone,开发既有用又有吸引力的移动服务,并推广这些产品 。 开发者对于核心应用程序使用的相同框架的API具有完全的访问权限. 应用程序架构被设计来简化组件的重用; 任何应用程序都能发布其功能 。然后任何其它应用程序都可以使用那些功能(以框架强迫的安全限制为准). 这个相同的机制允许组件被用户所替换 。 所有基础的Android 应用程序都是一套服务和体系, 包括: 一套丰富的, 可扩展的视图(Views), 可被用来构建一个应用程序, 包括列表(lists), 栅格(grids), 文本框(text boxes), 按钮(buttons), 以及内嵌网络浏览器 。 内容提供程序(Content Providers)使得应用程序能够从其它应用程序访问数据(例如联系人), 或共享它们自己的数据 。资源管理器(Resource Manager), 提供对非代码资源的访问, 例如本地化字符串, 图形, 以及布局文件通知管理器(Notification Manager)使得所有应用程序能够在状态栏显示自定义的警报 。 Android包含了一套被Android系统各种各样组件所使用的C/C++库. 这些功能通过Android应用程序框架展现给开发者. 一些核心库列举如下: ◆系统C库 - 一个BSD驱动的标准C系统库(libc)的实现, 基于嵌入式Linux的设备所调整 Android包含了一套核心库, 提供了在Java程序设计语言核心库中可用的大部分功能,每个Android 应用程序运行在它自己的进程中, 具有它自己的Dalvik虚拟机实例 。Dalvik被编写以便于一个设备可以有效地运行多个虚拟机. Dalvik虚拟机通过为最小内存封装优化的Dalvik可执行文件(.dex)格式来执行文件 。 虚拟机是基于寄存器的, 并且运行通过Java语言编译器编译并通过所含"dx"工具转换为.dex格式的类. Dalvik虚拟机对于基础的功能依赖于Linux内核, 例如线程和低级内存管理 。Android对于核心系统服务基于Linux 2.6版本, 例如安全性, 内存管理, 进程管理, 网络堆栈, 以及驱动模型. 内核同样在硬件和其余软件栈之间起到一个抽象层的作用 。 每一个Android 应用程序都有自己的进程,每个进程都对应着一个Dalvik虚拟机进程 。当一个Android 应用程序中运行着多个 Dalvik 虚拟机时,我们不用担心其效率问题,Dalvik已对此作了相应的优化 。 Dalvik 虚拟机是基于寄存器的,所以速度要快一些,其可执行文件格式是(.dex) 格式 。通过"dx"工具可以将java可执行程序转换成dex格式 。Dalvik虚拟机通过linux内核来管理线程以及底层的内存操作 。 开放手机联盟的成立和 Android 的推出是对现状的重大改变,在带来初步效益之前,还需要不小的耐心和高昂的投入 。但是,我们认为全球移动用户从中能获得的潜在利益是值得付出这些努力的 。 |