基于安卓Android的软件管理工具的开发毕业论文.doc

上传人:laozhun 文档编号:2394145 上传时间:2023-02-17 格式:DOC 页数:68 大小:2.34MB
返回 下载 相关 举报
基于安卓Android的软件管理工具的开发毕业论文.doc_第1页
第1页 / 共68页
基于安卓Android的软件管理工具的开发毕业论文.doc_第2页
第2页 / 共68页
基于安卓Android的软件管理工具的开发毕业论文.doc_第3页
第3页 / 共68页
基于安卓Android的软件管理工具的开发毕业论文.doc_第4页
第4页 / 共68页
基于安卓Android的软件管理工具的开发毕业论文.doc_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《基于安卓Android的软件管理工具的开发毕业论文.doc》由会员分享,可在线阅读,更多相关《基于安卓Android的软件管理工具的开发毕业论文.doc(68页珍藏版)》请在三一办公上搜索。

1、哈 尔 滨 理 工 大 学毕 业 设 计 题 目:基于Android的软件管理工具的开发 院、 系: 软件工程系 姓 名: xxx 指导教师: xxx 系 主 任: xxx 2013年 6月22日哈尔滨理工大学毕业设计(论文)评语学生姓名:xxx 学号:xxxxxxxx学 院: 专业:软件工程任务起止时间: 2012年 9 月 10 日至 2013年 6 月 22 日毕业设计(论文)题目:基于Android的软件管理工具的开发指导教师对毕业设计(论文)的评语:指导教师签名: 指导教师职称: 评阅教师对毕业设计(论文)的评语:评阅教师签名: 评阅教师职称: 答辩委员会对毕业设计(论文)的评语:答

2、辩委员会评定,该生毕业设计(论文)成绩为: 答辩委员会主席签名: 职称: 年 月 日哈尔滨理工大学毕业设计(论文)任务书学生姓名: 学号: 学 院: 专业:软件工程任务起止时间: 2012年 9月 10日 至 2013年 6月 22日毕业设计(论文)题目:基于Android的软件管理工具的开发毕业设计工作内容: 采用Android平台和java语言进行开发,实现了软件的安装模块实现了安装运行分享和删除功能,软件的卸载模块实现了删除运行和分享功能,软件的进程管理模块实现了一键清理和详细信息功能。依据 Android 平台的可定制的特点,整合了Android 提供给用户使用的用户控件进行系统的界面

3、设计。资料:1、Android 开发简介2、Android 系统架构及其驱动研究3、基于 Android 的智能手机的设计与实现指导教师意见:签名:年 月 日系主任意见:签名:年 月 日基于Android的软件管理工具的开发摘 要Android 是 Google 开发的基于 Linux 平台的开源手机操作系统。本文实现了软件的安装模块实现了安装运行分享和删除功能,软件的卸载模块实现了删除运行和分享功能,软件的进程管理模块实现了一键清理和详细信息功能。在实现的过程当中遇到代码部分不会,功能遗漏等问题,通过查资料和朋友的讲解得以解决。在移动终端技术与互联网不断发展与融合的今天,智能手机这一全新的概

4、念也走进了人们的生活之中,随着技术的进步,人们对于产品的方便和舒适程度也提出了更高的要求。除期望所用的软件拥有强大的功能外,更期望应用软件能尽可能的为他们提供一个轻松、愉快、感觉良好的操作环境。正占据着越来越多的市场份额。而 Android 平台却不提供自带的软件管理系统。随着 Android 手机越来越普及,在平台之上的软件越来越丰富,没有软件管理器的特点在一定程度上影响了用户的体验。论文依据 Android 平台的可定制的特点,整合了Android 提供给用户使用的用户控件进行系统的界面设计。以期望应用软件能尽可能的为他们提供一个轻松、愉快、感觉良好的操作环境。结合实际需要,设计实现一款基

5、于 Android 平台的软件管理系统。关键词 Android;管理器;模块Android-based Software Management Tool DevelopmentAbstractAndroid is a Google development platform based on the Linux open source mobile phone operating system. Now occupy more and more market share. While the Android platform does not provide built-in software

6、management system. This paper implements software installation module implements the installation and operation sharing and delete functions, uninstall the software module implements the delete operation and sharing capabilities, software process management module implements a function key clean-up

7、and details. Encountered in the realization of the process will not be part of the code, functionality issues such as missing by a friend to find information and explanations can be solved Now occupy more and more market share. While the Android platform does not provide built-in software management

8、 system. With the Android mobile phone is more and more popular, the platform software is more and more abundant, there is no software manager characteristics in a certain extent influence the user experience.This paper is based on Android platform can be customized features, the integration of the

9、Android available to the users of the user control system interface design. In the hope of application software can be as much as possible to provide them with a relaxed, happy, feel good operation environment. Combined with the actual needs, to achieve a design based on the Android software platfor

10、m management system.Keywords Android ;Manager;Module目 录摘 要IABSTRACTII第1章 绪论11.1项目研究背景21.1.1 Android 运作模式及优势31.2 课题研究目的及意义31.2.1 Android 的缺点和不足31.2.2 研究目标及意义3第2章 课题相关技术和理论52.1 Android 手机平台62.1.1 Android 简介62.1.2 Android 模拟器开发环境特点62.2 Android 系统结构组成分析72.2.1 Android 系统架72.2.2 Android 代码结构分析112.2.3 Andr

11、oid 驱动112.3 Eclipse简介12第3章 需求分析143.1 系统目的143.2 需求分析方法143.3 功能需求143.3.1 软件的安装模块需求153.3.2 软件的卸载模块需求163.3.3 软件的进程管理模块需求163.4 系统界面需求173.5 运行环境需求19第4章 系统设计204.1系统总体设计204.1.1 系统体系结构设计原理204.1.2 软件管理工具结构设计204.2 系统概述224.2.1应用背景224.2.2系统功能设计23第5章 系统详细设计实现245.1 安装模块245.2 运行模块255.3 分享模块265.4 删除模块285.5 卸载模块295.6

12、 进程管理模块31第6章 系统测试316.1 测试方案316.2 测试项目316.2.1软件运行测试316.2.2软件分享测试326.2.3软件删除测试326.2.4软件卸载测试336.2.5进程管理测试34致谢35参考文献36第1章 绪论1.1项目研究背景目前随着移动设备越来越普及以及设备的硬件的提升,移动设备的功能越来越完善,移动设备的系统平台也日渐火热起来。目前国内最常见的移动开发平台有 Symbian, iPone,Windows Phone 以及当下正在逐步兴起的Android。目前为止国内已经有很多Android 系统的用户。截止2010年第二季度Android系统的国内市场占有率

13、已经过10%,在西欧以及北美智能手机市场占有率也在20%左右。可见Android系统正在崛起之中。但是对于Android系统的应用和开发在国内仍然属于起步和探索阶段。急需要大量的相关技术和人员的投入。下面首先介绍一下Android系统。Android是基于Linux 内核的软件平台的操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由(Open Handset Alliance)开发。它采用了软件堆层(Software stack,又名以软件叠层)的架构,主要分为三部分。低层以Linux核心工作为基础,只提供基本功能,其他的应用软件则由各公司自行开发,

14、以Java作为编写程式的一部分。1.1.1 Android 运作模式及优势Android 作为一个通用的手机操作系统,任何一家厂商均可使用,这点和Windows Mobile 类似,但是不同的是 Android 整套系统完全开源和免费,而 Mobile是需要收取一定授权费用。这也就是为什么 Android 市场占有率在短时间内大大超过 Windows Mobile1的主要原因。Android 和 iPhone OS, Symbian, B1ackBerry OS 等系统在商业运作上有很大的不同:iPhone OS 只为苹果的 iPhone 所用,并由苹果严格控制;诺基亚、索爱各自运维着与自家硬

15、件紧密结合的 Symbian 版本;而 B1ackBerry OS 是 RIM 专用的操作系统;Android 则采用了联盟的方式,几乎世界上所有的大厂商都加入了谷歌手机开放联盟,如国外的知名企业:包括 Google , HTC(宏达电)、T-Mobile、高通、摩托罗拉、三星、LG 等,国内的知名企:中国移动、联通、电信和华为、联想等都加入到这个大家族中。显然,这些大公司的加入有助于自己推出 Android 相关的产品,同时也增强了 Android 的生命力。如今移动设备的处理器九成以上采用 ARM 核,造成这种局面最重要的一个原因是 ARM 公司和全世界各半导体厂商的合作所带来的强大生命力

16、,在这点上,Android 与 ARM2 的商业运作有些许类似。在软件上,Android 与其它硬件厂商的结合度越高,第三方厂商就越可能考虑采用它,第三方硬件厂商可以扩展 Android 本身不支持的功能(比如和 Android3 界面完全不同的独有界面),可以增加针对某些设备特有的功能。由于不同网络服务提供商、不同手机制造商的用户需要不同的设置,对于这种情况,Android 系统本身并没有集成任何一种形式的应用管理程序,因此 Android 智能手机的软件安装、系统升级、多媒体同步、应用软件管理以及云同步在不同的手机上可以以不同的形式出现。对于手机用户而言,Android 拥有应用程序 Ma

17、rket,类似于 iPhone App StoreMarket 上有大量的应用程序,Android 手机可以通过网络在线安装,且绝大部分应用程序免费并开源,这是 Market 优于 App Store4 的地方。在当今的软件大环境方面,软件的环境正在逐渐改变,微软这种软件巨头在压力下,也不得不将 Windows Mobile5 开源,软件免费开源已成为一种趋势;软件的含义正在改变,传统软件业以微软为代表,纯粹是卖软件,卖一份软件,获得一份收入;而以谷歌为代表的一些企业,已经不将卖软件作为公司的主要收入来源,甚至它的所有软件都免费,给用户提供免费的服务。卖服务而不是卖软件已成为一种趋势。而云计算

18、的出现,会是传统软件的一种颠覆,目前许多公司,如 IBM,亚马逊、微软、Google 等都以投入到云计算中,其中以 Google 走在前列,并有很多此类产品,比如 Google Docs 就可以完成在线的办公文档的编辑、保存、打印等;Android 是 Google 推出的产品,其对网络的支持是任何其他智能手机系统无法比拟的,可以说 Android 就是应网络而生,随着 3G 时代的到来,Android 对 3G 的良好支持,Android6 在网络方面的优势更为突出。而 android 的优势可以用一下几点来进行说明:1、Android 平台在数量上主宰市场 Google CEO 埃里克施密

19、特(Eric Schmidt)曾表示每天出售 20 部 Android手机,而第三方调查也显示该平台发展势头正稳步增长;根据市场分析机构 NPD发布的数据显示,在今年 4-6 月份发售的智能手机中,有 33%为 Android 手机,而 RIM 手机发售比例为 28%,iPhone 为 22%;也就是说,美国人开始青睐 Android手机;2、手机型号更多、促销力度更大:NPD 指出,摩托罗拉 Droid、宏达电 Droid Incredible、宏达电 EVO 4G、宏达电 HTC Hero 和宏达电 Droid Eris 这 5 大顶级Android 手机拥有大量运营商,其中包括 Veri

20、zon Wireless、AT&T、Sprint 和 T-Mobile;因运营商之间竞争激烈,如 Verizon 推出的买一送一促销活动及折扣价将继续在2Android 市场发挥重大作用;对购买 12 部以上智能手机的公司而言,价格优惠将为自己节约大量资金;3、为不同品种和理念提供更大空间尽管 iPhone 应用受追捧,但 Android 应用直接来自 Google 天才工程师团队,如 Google Goggles 中的图像识别软件能够检索徒步旅行或菜单;但其应用却不限于工程师;Google 还开发出开源 App Inventor,其结果是任何人都能够为 Android 开发应用,这也为新理念

21、提供了一个平台;4、Android 具备创新性:自 Google 开发出 Android 后,许多人认为其技术可信度要比其它操作系统略胜一筹,但这并不是用户购买 Android 智能手机的唯一原因;人们认为 Android 是一种相对较新的、又比较成熟的技术,在达到巅峰之前还有很大发展空间;Android 不象 iPhone 封闭系统,其功能日益 丰富、用户界面更加友好;5、Android 2.2 是用户 IT 部门的礼物:Android 2.2 解决了同微软 Exchange 的同步问题;该系统新增管理员远程删除、屏保超市限定等安全功能。预计 Android 平台在不久的将来将成为美国移动操

22、作系统中的佼佼者7。1.2 课题研究目的及意义1.2.1 Android 的缺点和不足Android 手机平台固然有巨大的优势,但是也存在一些缺点和不足, Android缺点 1:Android 平台自身不提供资源管理器。或者叫文件管理器,这对于无论智能手机还是个人电脑都是很重要的一项功能,对比Symbian平台和Windows Mobile平台,后两者均有自带的文件管理器,而且这是系统最常用的功能之一。由于Android 平台能自定制的特点,Android 平台上的资源也出现爆发式的增长,没有自带软件管理工具的特点在一定程度上引起了混乱。Android 缺点 2:没有自带任务管理器。Andr

23、oid 缺点 3:蓝牙传输文件不方便。之前苹果 iPhone 中也有这样的问题,蓝也不允许传输文件。现在 Android 内置的蓝牙功能是允许传输的,但也有一些限制。Android 缺点 4:缺少大型游戏软件。在数量上,Android 平台现在已经具有超过 1 万款的应用件。由于其中绝大部分为免费软件,同样也带来了“免费品质”,即功能相对简单,特别是在游戏部分,没有大型手机游戏,诸如手机版的极品飞车、实况足球等。这些桌面端的巨型游戏都有在 iPhoneApp Store 中出现。Android 缺点 5:界面定制不够简单。现在手机的外观定制是很重要的,我们知道Symbian 平台有非常丰富的主

24、题软件,主题下载到手机之后,只需在相应的目录选择设定就可以了。如果你是一个爱研究的用户,使用诺基亚的主题编辑软件还可以进行自定义的修改。同样在 Windows Mobile 系统里,“今日”桌面设置同样可以方便地自定义桌面界面,这种自定地的方式有所不同的是,可以将不同的今日插件选择是否显示在桌面。相比之下,现在 Android 的主题自定义方式还很繁琐,而且没有官方的主题格式推出。1.2.2 研究目标及意义 本系统设计的思路正是为具体软件开发商解决 Android 平台部分缺点出发,本系统设计目标是设计并开发实现一个使用方便的管理系统,类似于对于手机上的资源进行方便的管理。并能实现对于任务进度

25、的管理,并为本机文件系统提供资源搜索引擎,并且将最后系统固化于手机平台之上,最终完成完成 Android智能手机平台定制。本课题以 Android 智能手机平台为中心,从软件和硬件上分析在 Android 智能手机平台上的的开发流程和基本的方法、技巧,并最终完成一个基于 android 手机平台上的管理系统。本文从软件的最底层到最上层进行了分析:从启动代码到内核再到驱动、文件系统,最后到 Android 应用层。本文对底层软件以及上层软件开发过程中的环境进行了介绍,针对每层的特点对调试方法进行了分析和选择。以实际管理系统开发为例,系统说明 android 平台开发流程。深入了解 Android

26、 系统。国移动等)的大力支持,产业链条的热捧。良好的盈利模式 X3/7 开),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。Android 的源代码遵循 ApacheV2 软件许可,而不是通常的 GPL v2 许可。有利于商业开发。具有强大的 Linux社区的支持。第2章 课题相关技术和理论2.1 Android 手机平台Android 一词的本义指“机器人”,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软

27、件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。2008 年 9 月 22 日,美国运营商 T-Mobile USA 在纽约正式发布第一款 Google手机T-Mobile G1。该款手机为台湾宏达电子代工制造,是世界上第一部使用Android 操作系统的手机,支持 WCDMA/HSPA 网络,理论下载速率 7.2Mbps,并支持 Wi-Fi8。Android 是 Google 开发的基于 Linux 平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google 与开放手机联盟合作开发了Andr

28、oid,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google 通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。2.1.1 Android 简介Android 作为谷歌企业战略的重要组成部分,将进一步推进随时随地为每个人提供信息这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不

29、会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。Android 源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发日更具差异性的应用。采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik,Android 的运行速度比想象的要快很多。运营商(中国移动等)的大力支持,产业链条的热捧。良好的盈利模式 X3/7 开),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。Android 的源代

30、码遵循 ApacheV2 软件许可,而不是通常的 GPL v2 许可。有利于商业开发。具有强大的 Linux社区的支持。2.1.2 Android 模拟器开发环境特点Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。提供了在 Android 平台上使用 Java 语言进行 Android 应用开发必须的工具和 API 9接口。应用程序框架支持组件的重用与替换。其主要的内容和功能有:Dalvik 虚拟机专为移动设备优化;集成的浏览器基于开源的 WebKit 引擎;优化的图形库包括定制的 2D 图形库,3D 图形库基于 OpenGL ES 1.0; S

31、QLite 用作结构化的数据存储;多媒体支持包括常见的音频、视频和静态图像格式(如 MPEG4, H.264。MP3, AAC,AMR, JPG, PNC。GSM 电话技术(依赖于硬件);蓝牙 Bluetooth, EDGE, 3G,和 WiFi(依赖于硬件);照相机,GPS,指南针,和加速度计(accelerometer)(依赖于硬件);丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse 集成开发环境插件。Android 会同一系列核心应用程序包一起发布,该应用程序包包括 email 客户端,SMS 短消息程序,日历地图,浏览器,联系人管理程序等。所有的应用程序都是

32、使用 JAVA 语言编写的。开发人员也可以完全访问核心应用程序所使用的 API 框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵守框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。下面简单介绍隐藏在每个应用后面的一系列的服务和系统,其中包括:丰富而又可扩展的视图(views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(texrboxes),按钮(buttons),甚至可嵌入的 web 浏览器。通知管理器(Notification Manager)

33、使得应用程序可以在状态栏中显示自定义的提示信息。内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们白己的数据。活动管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。Android 包含一些 C/C+库,这些库能被 Android 系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下将简单介绍 android 中的一些核心库系统 C 库是专门基于 embedded linux 的设备定制的。它是从 BSD 继承来的标准 C 系统函数库(libc);媒体库:该

34、库基于 PacketVideoOpenCORE;并且支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括 MPEG4, H.264, MP3,AAC,AMR, JPG, PNG。Surface Manager为多个应用程序提供了 2D 和 3D 图层的无缝融合,显示了系统的管理。LibWebCore:支持 Android 浏览器和一个可嵌入的 web 视图。一个最新的 web浏览器引擎用。SGL:底层的 2D 图形引擎3D libraries:该库可以使用硬件 3D 加速(如果可用)或者使用高入度优化的 3D软加速。基于 OpenGL ES 1.0API 实现FreeTy

35、pe:位图(bitm ap)和矢量(vector)字体显示。SQLitej 库:功能强劲的轻型关系型数据库引擎并且对于所有应用程序可用。Android 还包括了一个核心库,该核心库提供了 JAVA 编程语言核心库的大多数功能。每一个 Android 应用程序都在它白己的进程中运行,都拥有一个独立的Dalvik 虚拟机实例。Dalvik 被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik 虚拟机执行(dex)的 Dalvik 可执行文件,该格式件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都由编译器编译,然后通别DK中的”dx工具转化成.dex格式由虚拟机执行。Dalvi

36、k 虚拟机依赖于 linux 内核的一些功能,比如线程机制和底层内存管理机制。2.2 Android 系统结构组成分析2.2.1 Android 系统架Android 系统由底层到应用层的系统结构,下面由底层逐步向上做一个简单的介绍。Android 的内核采用 Linux 内核版本 2.6,其位于硬件和软件堆之间的抽象层,提供的核心服务:安全机制、内存管理、进程管理、网络、硬件驱动。系统结构如图 2-1 :图2-1 Android 系统框架图Android 依赖 Linux 内核 2.6 提供核心服务,比如安全、内存管理、进程管理、网络、硬件驱动。这里,Linux 内核扮演的是硬件层和系统其它

37、层次之间的一个抽象层的概念。这个操作系统并非完全等同于 unix/linux 系统库,系统初始化和编程接口都和标准的 Linux 系统是有所不同的。内核的结构如图 2-2:Darvin OS XMach/BS内核Linux内核Flash MemoryDriverBider(IPC)DriverCameraDriverDispiayDriverAudoDriverPowerManagementKeypad DriverWifiDriver图2-2 Android 中 linux 内核图内核的结构和标准的 Linux 内核一样,Android 内核要实现内存管理、进程调度、进程间通信等功能 And

38、roid 内核是在标准 Linux 内核的基础上修改成为了适应嵌入式硬件环境和移动应用程序的开发,Android 对标准 Linux 内核进行了一定的修改为了对比分析 Android 内核,在 U buntu 操作系统上搭建了Android 内核的编译开发平台,通过 repo,下载最新的 Android 内核代码版本 Linux内核版本为 2.6.27)从获得的内核源码树的根目录结构。经过与 unix 标准内核比较可以发现,Android 内核与标准 Linux 内核在文件系统、进程间通信机制、内存管理等方面存在不同。 文件系统:不同于桌面系统与服务器,移动设备大多采用的不是硬盘而是采用 fl

39、ash 作为存储介质,因此,Android 内核中,增加了标准 Linux 内核,采用日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外断电对文件系统一致性和完整性的影响。按层次结构设计,分为文件管理接口、内部实现层和 HAND,简化了其本身与系统的接口设计,能更方便地集成到系统当中。 进程间通信机制:Android 增加了一种进程间的通信机制在内核源代码驱动程序文件为、oredroid/includellinux/binder.h 和、oredroid/drivers/android/binder.、Binder 通过守护进程 Service Manager 管理系统的服务,负

40、责进程间的数据交换各进程通过 Binder访问同一块共享内存,以达到数据通信的机制从应用层的角度看,进程通过访问数据守护进程获取用于数据交换的程序框架接口,调用并通过接口共享数据,而其他进程要访问数据,也只需与程序框架接口进行交互,方便了程序员开发需要交互数据的应用程序。内存管理:在内存管理模块,Android 内核采用了一种不用于标准 Linux 内核的低内存管理策略,在标准 Linux 内核使用一种叫做 OOM(Out of Memory)的低内存管理策略;当内存不足时,系统检查所有的进程,并对进程进行限制评分,获得最高分的进程将被关闭(内核进程除外)Android 系统采用的则是一种叫作

41、 LMK(Low MemoryKiller)的机制,这种机制将进程按照重要性进行分级、分组内存不足时,将处于最低级别组的进程关闭例如,在移动设备当用户界面处于最高级别,所以该进程永远不会被关闭这样,在终端用户看来,系统是稳定运行的在 Andorid 内核源码 LMK的置是 oredroid/drivers/mist/lowme-morykiller.c与此同时,Android 新增加了一种内存共享的处理方式 Ashmem (AnonymousShared Memory ,匿名共享内存)通过 Ashmem,进程间可以匿名自由共享具名的内存块。这种共享方式在标准 Linux 当中不被支持。Ashm

42、em 分配情况如下:fd = ashmem_create_region(“my_shm_region”,size)if(fd 0)return -1;data = mmap(NULL,size,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);if (data = MAP_FAILED)goto out;但出于安全原因,其他进程无法访问此名称(my_shm_region)区域.文件描述符指向该共享内存区域,实际上是通过 IPC 绑定接口。在Andorid内核源码中Ashmem 的位置是 coredroid/mm/ashmem.c。Core ServiesMediaAn

43、droid执行程序程序库Suface ManagerMediaFrameworkCore LibrariesSQLiteOpenGLJESFreeTypcWebkitDalvikVirualMachineSGLSSLlibc图 2-3 Lib 和运行环境示意图如图 2-3 所示:C/C+库被各种 Android 组件使用并且通过应用程序框架开发者可以使用其功能,这些功能包括单不限于:媒体库如 MPEG4 、H.264、 MP3、JPG 、PNG 等;WebKit/LibWebCore Web 浏览引擎;SQLite 关系数据库引擎;2D, 3D 图形库、引擎;android 有丰富的类库支持,

44、包括:2D 和 3D 图像库 OpenGL、数据库 SQLite、对象数据库 db 类库、媒体库、基本 linux 底层系统 C 库等等,让应用开发更简单多样。Google 使用 Apache 的 Harmony 类库,Harmony 某些方面速度快于 Sun 的 VMoRuntime 在 Dalvik Java VM 上,Dalvik 采用简练、高效的 bytecode 格式运行,它能够在低资耗和没有应用相互干扰的情况下并行执行多个应用。其在运行时的主要特点有:每一个 Android 应用程序在它自己的 Dalvik VM 实例中运行 VM 执行优化的 Dalvik 可执行文件(.dex)。

45、Dx 工具把编译过的 Java 文件转换为 dex 文件核心库提供的 Java 功能,Dalvik 虚拟机依赖于 Linux 内核,例如线程或底层内存管理。设备可以运行多个 Dalvik 虚拟机。Android 应用层它包括 Android 核心应用,它主要简化组件的重用,尽管内核适用 c/c+程序库,但是在应用层开发时,使用 Java 编写应用程序例如联系人,电子邮件,电话,浏览器,日历,地图,此层次上有充分访问所有核心应用框架 API。Android 应用层如图 2-4 :图 2-4 应用框架示意图2.2.2 Android 代码结构分析Android 源代码包括 3 个部分: 包(Pac

46、kage)提供 Android 的应用程序和服务;核心工程(Core Project 文件夹)是建立 Android 系统的基础,在根目录的各个文件夹中;扩展工程( External Project 文件夹中)是使用其他开源项目扩展功能而其中既包含了原始 Android 的目标机代码,还包括了主机编译工具、仿真环境等。主要的两个日录为 host 和 target,前者表示在主机(x86)生成的工具,后者表示目标机(默认为 ARM v5)运行的内容。2.2.3 Android 驱动Android 中内核的结构和标准 L inux2. 6 内核结构基本上是相同的,区别仅仅在于增加了部分私有内容。Android 在标准的 Linux 内核中的驱动主要分成两种类型:Android 专用驱动和提供给 Android 使用的设备驱动。下面就 2 种类型进行分别介绍:主要的专用驱动有:Ashmen:匿名共享内存驱动;Logger.轻量级的 bg 驱动;Bfinder.基于 OpenB finder 系统的驱动,为 Android 平台提供 IPC 支持;AndroidPowerManagernent (1M

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号