android平台任务管理器的设计与实现内容摘要:
设计目标是嵌入式。 它占用的资源非常低,能够支持 Windows/Linux/Unix 等主流的操作系统,同时还能与 Java、 PHP 等多种程序语言结合,而且支持事物功能和并发处理。 总之,SQLite 是一款更适合在手机上使用的开放性的关联式资料库,轻量性的设计是其主要的特点 [3]。 多媒体的支持能力:多媒体支持包括常见 的音频、视频和静态印象文件格式。 GSM 技术: Global System for Mobile Communications,即全球移动通讯 系统,俗称“全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。 GSM 技术是属于手机硬件方面的展现,也是在开发 Android 应用程序时可以突出的特点之一。 蓝牙、 EDGE、 3G 及 WiFi:蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现语 音和数据的无线传输。 EDGE(Enhance Data Rate for GMS Evolution),即增强型数据率 GSM 演进技术,它是一种从 GSM 到 3G 的过度技术。 WiFi 是一种可以将个人电脑、手持设备等终端以无线方式连接的技术,为用户提供了无线的宽带互联网访问。 同时,也是在家里、办公室或在旅途中上网的快速、便捷的途径。 GPS: Global Positioning System,即全球定位系统。 它是一种基于卫星的定位系统,用 于获取地理位置信息以及准确的通用协调时间。 该系统由覆盖全球的 24 颗卫星组成。 这个系统可以保证在任意时刻和任何地点都可以同时观测到 4 颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。 这项技术可以用来引导飞机、船舶、车辆以及个人。 这个同样也是属于手机硬体方面的展现,也是在开发 Android 应用程序时可以突出的特点之一。 丰富的开发环境: Android SDK 提供相当 完善的程序开发环境,其开发环境包括设备模拟器、调试工具、内存和性能检测等方面的评估功能,另外也提供可用于 Eclipsc IDE的开发插件界面。 Android 开发平台的架构 Android 的系统架构和其操作系统一样,采用了分层的架构,其核心是 作业系统,向上搭配 Google 为 Android 开发的类库及 Android Runtime,再配合应用程序架构来开发各种不同的应用程序 [4]。 如图 21 所示, Android 分为 5 个部分,分别是应用程序、应用程序框架、程序库、 Android 运行环境、 Linux 核心 [5],针对每一部分介绍如下: Android 平台 任务管理器系统 的设计与实现 4 Application Application Framework Libraries Android Runtime Linux Kernel 图 21 Android 系统架构 应用程序层 Android 会同一系列核心应用程序包一起发布,该应用程序 包括 Email 客户端, SMS短消息程序、日历、地图、浏览器,联系人管理程序等。 所有的 这些 应用程序都是使用Java 语言编写的。 应用程序框架 Android 应用程序的开发主要是建立在框架和组件的基础上, 开发人员也可以完全访问核心应用程序所使用的 API 框架。 该应用程序的架构设计简化了组件 的重用 ; 任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块 ( 需要 遵循框架的安全性限制 )。 同样,该应用程序重用机制也使用户可以方便的替换程序组件 [6]。 隐藏在每个应用后面的是一系列的服务和系统 , 其中包括 : 一个可扩展的视 图 (Views), 可以用来构建应用程序,它包括列表 (lists),网格 (grids),文本框 (text boxes),按钮 (buttons),甚至可嵌入的 Web 浏览器。 内容 管理 器 (Content Providers),当一个应用程序想要访问另一个应用程 序的数据Home Contacts Phone Browser Content Provider … Window Manager Package Manager Activity Manager Telephone Manager Notification Manager View System Location Manager Media Framework SQLite XMPP Service OpenGL|ES FreeType SSL Libc Webkit Dalvik VM Resource Manager Core Libraries SGL Bluetooth Driver Flash Men Driver Camera Driver Binder (IPC) Driver Display driver Surface Manager Power Managemennt Aduio Driver WIFI Driver Keypad Driver USB Driver Android 平台 任务管理器系统 的设计与实现 5 (如联系人数据库), 或者共享它们自己的数据 时都需要内容提供器的服务。 一个 资源管理器 (Resource Manager),它可以 提供如本地字符串 、 图形和布局文件( layout files )非代码资源的访问。 一个 通知管理器 (Notification Manager), 使得应用程序可以在状态栏中显示自定义的提示信息。 一个 活动 类 管理器 ( Activity Manager),是 Android 开发中的重要的服务系统, 用来管理应用程序生命周期并提供常用的导航回退功能 [7]。 系统运行库 (1) Android 程序库 Android 包含一些 C/C++库,这些库能被 Android 系统中不同的组件使用。 虽然Android 系统中的任何组件都可以调用这些,但是必须通过 Android 本身的应用程序框架才能使用这些库的功能。 一些 主要的 核心库 如下 : 系 统 C 库 : 一个从 BSD 继承来的标准 C 系统函数库 , 它是专门为基于 Embedded Linux 的设备定制的。 媒体库: 基于 PacketVideo OpenCORE, 该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。 编码格式包括 MPEG 、 MP AAC、 AMR、JPG、 PNG。 Surface Manager: 用来 对显示子系统 进行 管理, 同时 为多个应用程序提供了 2D 和3D 图层的无缝融合。 3D libraries: 基于 OpenGL ES APIs 实现 ; 该库可以使用硬件 3D 加速 (如果可用 )或者使用高度优化的 3D 软加速。 SGL: 底层的 2D 图形引擎。 LibWebCore: 一个最新的 web 浏览器引擎用,支持 Android 浏览器和一个可嵌入的web 视图。 FreeType: 位图 (bitmap)和矢量 (vector)字体显示。 SQLite: 一个开源的关系型数据库,可以存储大量的数据,并且可以对数据进行使用、更新、维护等操作。 (2)Android 运行库 Android 包括了一个核心库 , 该核心库提供了 Java 编程语言核心库的大多数功能。 每一个 Android 应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例。 Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统 , Dalvik虚拟机执行 (.dex)的 Dalvik 可执行文件,该格式文件针对小内存使用做了优化。 同时虚拟机是基于寄存器的,所有的类都经由 Java 编译器 编译,然后通过 SDK 中 的 DX 工具转化成 .dex 格式由Android 平台 任务管理器系统 的设计与实现 6 虚拟机执行。 Dalvik 虚拟机依赖于 linux 内核的一些功能,比如线程机制和底层内存管理机制。 Linux 内核 Android 的核心系统服务依赖于 Linux 内核 , 如安全性 , 内存管理,进程管理, 网络协议栈和驱动模型。 它是一个增强内核版本,在之前版本的基础上,增加了 Android平台所需要的各种驱动,用来驱动 Android 移动终端上的设备。 Linux 内核也同时作为硬件和软件栈之间的抽象层 [8]。 Android 应用程序组件 要进行 Android 应用程序开发,还需要对 Android 应用构造进行深入分析。 Android应用程序相互之间是独立的,没有统一入口,并且运行在自己的进程 当中。 根据功能的不同, Android 划分了四类核心的组件类: Activity、 Service、 Broadcast Receiver 和 Content Provider。 当然,一个 Android 应用程不必都包括这四个部分,可以根据开发者需求进行组合。 但是,任何一个应用程序都必须在 文件中声明使用到的这些类型,这个配置文件是每个 Android 应用程序所必须的。 Activity Activity 是 Android 组件中最基本也是最为常用的一种组件,我们称之为“活动”,所有的程序都必须运行在 Activity 中。 Activity 为用户提供可视化的界面,一个 Activity通常就是一个单独的屏幕。 每一个活动都被实现为独立的类,并且从活动基类中继承而来,活动类将显示由视图控件组成的用户接口,并对事件作出响应。 例如,一个联系人管理应用程序,第一个屏幕用来输入用户名称,第二个屏幕用来显示用户联系方式信息。 这里的每一个屏幕就是一个活动 ,我们可以很容易的实现屏幕之间的切换。 Activity 的生命周期: 在 Android 系统中 Activity 作为 Activity 栈被管理,当前活动的 Activity 处于栈顶,之前非活动 Activity 被压入下面成为非活动 Activity,等待是否可能被恢复为活动状态。 其生命周期图如 22 所示 : 从图中 我们可以将 Activity 的生命周期分为以下三个过程: 整个完整生命周期:从 onCreate()方法开始到 onDestory()方法结束。 Activity 在onCreate()中设置所有“全局”状态以完成初始化 ,而在 onDestroy()中释放所有系统资源。 可见生命周期:从 onStart()开始到 onStop()结束。 在此期间,用户可以在屏幕上看到 Activity,而不管它是不是位于前台或与用户是否交互。 在这两个方法之间,我们可以保留用来向用户显示这个 Activity 所需的资源。 Android 平台 任务管理器系统 的设计与实现 7 前台可见生命周期:从 onResume()方法开始到 onPause()结束。 在此期间, Activity位于前台最上面并与用户进行交互。 Activity 会经常在暂停和恢复之间进行状态转换 ,当有新的 Activity 启动或设备进入休眠状态时, 将调用 onPause()方法。 当 Activity 获得结果或者接收到新的 Intent 时会调用 onResume()方法。 图 22 Activity 生命周期 Intent 在一个 Android 应用中,主要由四种组件组成,但这四种组件是相互独立的,要想使它们协调工作,就要通过 Intent 来完成。 Intent 类用于描述应用的功能,在 Intent 的描述结构中,有两个重要的部分:动作和动作对应的数据。 典型的动作类型有 MAIN、VIEW、 PICK、 EDIT 等,而动作对应的数据则以 URI 的形式表示。 例如,我们在 Android应用中,让 Intent 负责对应用中一次操作的动作、动作对应的数据、附加数据进行描述,Activity 开始 onCreate() OnStart() onResume() running 另个 activity 启动 onPause() onStop() onDestory() shutdown 用户返回 Process is killed 内存低 又回到前台 又回到前台 onRestart() Android 平台 任务管理器系统 的设计与实现 8 Android 则根据该 Intent 的描述,负责找到相应的组件。 将意图传递给它,并完成组件的调用。 通过解析各种 Intent,从一个屏幕导航到另一个屏幕,通过调用 start。android平台任务管理器的设计与实现
相关推荐
农业技术全集之植,黔油 12 号 1品种来源黔油 12 号系贵州省农科院油研所用蜀发 1 号 离不育株与“双低”品种 交选育的“双低”核不育系 母本,与“双低”品种的优系双 168作父本组配育成的半冬性甘蓝型“双低”杂交油菜新组合。 1999 年 7 月通过贵州省农作物品种审定委员会审定。 2特征特性黔油 12 号品种幼苗半直立,苗期长势强,株型紧凑,开花集中,营养生长期长,不易早薹早花,株高
优 963” 协优 963 系浙江省农科院作物所(邮码:310021)于 1996 年选育成的杂交晚籼稻新组合。 经浙江省 1998 年和 1999 两年杂交晚籼稻区试,平均每 667 平方米(1 亩)产分别为 斤和 斤,比对照汕优 10 号增产 1999 年生产试验,平均每 667 平方米产 斤,比对照汕优 10号增产 平均全生育期 ,比汕优 10 号长。 抗性鉴定结果:抗稻瘟病,中抗褐稻虱
1、农业技术全集之植,杂油 6 号 湘杂油六号是湖南农业大学油料所利用化学杀雄技术育成的优质高产杂交油菜品种。 该品种集优质高产多抗于一体,己通过湖南省品种审定委员会审定。 主要特征特性湘杂油六号为中熟甘蓝型油菜品种,株高 185右,一次有效分枝 78 个,单株角果 360 个左右,果较粗长,果粒数 20 粒左右,种子黑褐色,千粒重 4。 显著特点有(1)品质好:芥酸含量 硫代葡萄糖苷含量
1、农业技术全集之植,杂油 3 号 湘杂油 3 号系湖南亚华种业科学院与常德农科所共同选育的三系杂交组合,2001 年通过湖南省农作物品种审定委员会审定。 一、产量表现:湘杂油 3 号高产、稳产,1996在常德油菜区试中平均亩产 斤,比对照湘油 13 号增产 11%,增产显著;1997度常德市区试中平均亩产 斤,比对照湘油 13 号增产 增产极显著。 1997度省区试中平均亩产 斤,比对照湘油
1、玉 10 号” 选育单位:河北省蠡县玉米研究所品种来源:以自选系 618 为母本,引进系黄 C 为父本杂交组配而成的玉米杂交种。 产量表现:2000 年参加重庆市杂交玉米新组合平丘组预试,蠡玉 10 号平均亩产 4922对照农大 108 增产 997。 2001 年参加重庆市平丘组区试,平均亩产 4384对照农大 108 增产 2002 年续试,平均亩产5156对照农大 108 增产 196