android任务管理器.docx
《android任务管理器.docx》由会员分享,可在线阅读,更多相关《android任务管理器.docx(16页珍藏版)》请在冰豆网上搜索。
android任务管理器
题目:
基于android的任务管理器的设计
一、本课题的内容及研究意义
随着移动互联网的蓬勃发展,手机作为移动互联网最重要的承载设备,在人们日常生活中所扮演的角色越来越重要。
人们开始关注手机应用的多元化和功能的强大,在满足消费者越来越高的要求方面,智能手机成为了最好的选择。
同时也正是基于这种原因,智能手机在手机市场扮演着非常重要的角色,而且相应的智能手机应用领域也变得火爆起来,对智能手机平台的研究与开发是当前移动计算技术发展中最为活跃的领域,从中我们不难看出智能手机所蕴含着广阔发展前景。
智能手机需要操作系统平台的支撑,研究智能手机软件的根本就是要研究智能手机平台的软件开发。
现在虽然手机生产厂商众多,但是操作系统平台不开源,各种应用放上去非常困难。
为此,Google于2007年11月推出了一个专为移动设备设计的软件平台—Android,它的出现打破了这些格局,使世界手机市场产生了巨大的变化。
android系统目前还有很多缺陷,我认为一个很大问题就是正常关闭的程序总会在后台运行,无法完全关闭。
导致很多进程不能立刻结束,在后台运行就占用了内存,影响了系统的运行速度,还严重浪费了手机电量和流量。
Android系统最大的优势在于与互联网贴合紧密,使用Android系统手机可以尽享移动互联网带来的欢乐。
但是,有没有想过这种谷歌引以为豪的优势有一天会变成消费者眼中的大敌。
查看一下网上的记录,有多少人抱怨Android系统手机费流量,原来塞班时候30M玩一个月的时代已经一去不复返了,还有现在普遍的用户都反应手机电池续航能力很差,基本一天一充,让用户很是头疼。
据说iPhone4虽然是单核512M内存,但是比Android的双核1G内存的操作起来更流畅,iPad2虽然是也只有512M的内存但是操作起来比Android四核1G内存还要流畅。
另外在安全性方面也不如iOS。
造成Android性能,待机时间,操作流畅和安全性不好的原因是Android后台进程的管理。
Android的进程管理很差劲,这也是它性能差的原因,操作的流畅性,待机时间,性能都跟进程管理,特别是后台进程的管理有很大关系。
打开手机一看,有几十条进程在跑,比如短信,邮件,输入法等系统核心应用,另外还有很多很应用也都在后台运行,不管是否是用户启动的,很多应用都在后面跑,这点已经成为Android用户最受困扰的地方。
更为可气的是很多进程用任务管理器,进程杀手等工具杀都杀不掉。
主要的原因就是Android中的关键的组件都有着过长的生命周期,比如BroadcastReceiver和Service,还有就是线程的不正当应用。
Service就是专门用于在后台长期运行的组件,用以在后台完成长期的任务比如在后台播放歌曲,在后台接收邮件和短信等等。
BroadcastReceiver是一种长期存在的组件,它正常时候是处于不活跃的,只有当其感兴趣的Intent广播出现时就被激活,虽然它不活跃,但是它依然活着,它所在的进程依然运行。
此外,Activity也可以长期的运行,通过moveTaskToBack()就可以不销毁的把Activity放到后台去,或者在Activity中运行Thread,如果在Activity销毁时没把Thread停止,那么Thread就会仍然运行,进程就会仍然运行。
这是Android系统架构决定的,对于有组件在运行的进程,即使用任务管理器把它杀掉,那么ActivityManager还会把这个进程重启。
所以对于Android的程序来讲,需要开发者的努力才能正确的应用这些组件让应用在用户用到的时候运行,不需要的时候就完全退出。
了解了android的这些缺点,努力去解决这些给用户带来的不便和影响。
所以这次设计目标是设计出一个简单的任务管理器,能够实现一些任务管理器的基本功能,能够查看正在运行的所有程序及占用内存情况;可以把程序完全结束掉;清理缓存资源。
这样释放出内存资源,有利于提升手机运行速度,提高手机续航能力,降低隐形流失的流量对用户的压力。
这都对android系统的发展及以后的研究都很有意义。
二、研究现状和发展趋势
作为最近几年才涌现的智能手机操作系统,Android操作系统无疑是一个新手,但是借助Google牵头的开放手机联盟的成功运作,多家智能手机制造商不断推出基于Android操作系统的智能手机,使Android操作系统的市场份额以及影响力与日俱增,其前景正被越来越多的人看好。
基于Android平台进行软件应用的开发,只需要开发者搭建一个完整的Android环境,利用java语言及Android自身的开发包就可以进行Android应用程序的开发。
而在现今的环境下,专业的java开发团队比比皆是,他们可以很快掌Android软件开发技术,这就意味着Android软件开发将拥有庞大的技术支持。
Android兴起时间短暂,手机软件相对于存在已久的塞班手机软件等,其丰富性及功能性都稍逊一筹。
但Android软件在一两年的时间内已经迅速发展,在各类型应用系统中都有令用户满意的成果,而Android的开放系统以及现在的发展趋势都预示着Android手机将在未来的手机市场中异军突起,成为手机领域的佼佼者指日可待。
Android的主要竞争对手是苹果公司的iOS以及RIM的BlackberryOS。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。
现在市场上的基于Android的应用系统可以大体分为系统工具、影音播放、文件浏览管理、联络工具、休闲娱乐、生活助手、软件超市等七大类。
网络上已经有很多各式各样的应用,android应用已经是遍地开花,了解了android进程为基础上开发设计一个很重要的应用——任务管理器也有很多已经面世,能实现很多功能,但也大多是些基本功能,实现程序进程的结束和管理等,目前已经能满足一些市场需求。
目前android手机的迅速发展,对android任务管理器的需求也是直线上升,各大应用下载中心下载排行的任务管理器也是趋于前列。
何种任务管理器更符合用户的需求,更大程度的满足用户,在我看来以后的更多的任务管理器设计肯定是向着更多功能结合方向发展,更加便捷管理模式靠拢,让用户更加简便明了的了解和控制自己android系统中的所有程序。
这也是我这次毕业设计将努力的方向。
三、研究方案及工作计划
本系统设计的思路是为具体解决Android平台部分缺点出发,本系统设计目标是设计并开发实现一个使用方便的任务管理系统,类似于对于手机上的资源进行方便的管理。
并能实现对于任务进度的管理,将最后系统固化于手机平台之上,最终完成完成Android智能手机平台定制。
这次以Android手机平台为中心,从软件和硬件上分析在Android手机平台上的的开发流程和基本的方法、技巧,并最终完成一个基于android手机平台上的任务管理系统。
从软件的最底层到最上层进行了分析:
从启动代码到内核再到驱动、进程系统,最后到Android应用层。
本次毕业设计论文将对底层软件以及上层软件开发过程中的环境进行了介绍,针对每层的特点对调试方法进行了分析和选择。
以实际系统开发为例,系统说明android平台开发流程,深入了解Android系统。
总之,先把开发环境搭建好:
JDK、Eclipse、AndroidSDK的安装和环境配置。
后面细节模块的实现自己要把以前所学的操作系统,软件工程等学科结合起来,自己还要查阅很多资料,边学边实践。
努力把这次毕业设计很好的完成。
●明确设计任务,收集并阅读相关资料,约需0.5周。
●了解和掌握android,约需0.5周。
●需求分析,约需1周。
●概要设计,约需2周。
●详细设计,约需4周。
●系统的测试与优化,约需2周
●撰写毕业论文,约需1周
●论文答辩准备,约需0.5周。
●论文答辩,约需0.5周。
各周任务计划
起止日期
周次
任务
说明
2/20~3/4
第1周
完成开题报告
第2周
3/5~3/11
第3周
工作实习
3/12~3/18
第4周
查阅资料,了解课题
收集和阅读相关资料文献,对课题和相应的开发平台作充分了解。
3/19~3/25
第5周
需求分析
获得对整个毕业设计的整体把握,完成设计需求、目标。
3/26~4/8
第6周
概要设计
完成系统概要设计
第7周
4/9~5/6
第8周
系统详细设计
完成系统软件的编制,并完成各个模块的测试。
第9周
第10周
第11周
5/7~5/20
第12周
调试与测试优化
对系统进行调试,是软件系统能正常运行。
第13周
5/21~5/27
第14周
撰写毕业论文
5/28~6/3
第15周
答辩准备和答辩
四、主要参考文献
[1]Android介绍.XX百科/1241829.html
[2]汪源,刘芳.Android的进程与单线程模型浅析[J].仪器仪表用户2011(05):
77-78
[3]马越.Android的架构与应用[D]中国地质大学(北京),2008.
[4]叶炳发.Android操作系统移植及关键技术研究[D]暨南大学,2010.
[5]刘必刚.Android通信模块的设计与优化[D]武汉理工大学,2010.
[6]岳传真.Android系统移植和应用程序开发[D]复旦大学,2010.
[7]陈勋.基于android平台的资源管理器设计[D]电子科技大学,2011.
[8]吴想想.基于Android平台软件开发方法的研究与应用[D]北京邮电大学,2011.
[9]朱婷婷,李慧.基于Android的应用软件的综述[J].电脑与电信2011(01)42-43
[10]宋小倩,周东升.基于Android平台的应用开发研究[J].软件导刊2011(02)104-106
[11]LaurenDarcey,ShaneConder.AndroidWirelessApplicationDevelopment.Addison-WesleyProfessional,2009:
112-121,.
[12]EnckW,OngtangM,McDanielP.UnderstandingAndroidSecurity.IEEEComputerSociety,2009:
178-191.
[13]StanislavPavlov,PavelBelevsky.WindowsEmbeddedCE6.0Fundamentals.USA:
MicrosoftPress,2008:
98-100.
[14],Android™AProgrammer’sGuide,2008.
外文文献选译
Android:
AProgrammer’sGuide
KeySkills&Concepts
●CreatingnewAndroidprojects
●WorkingwithViews
●UsingaTextView
●Modifyingthemain.xmlfile
●RunningapplicationsontheAndroidEmulator
TomakesurethatyougetagoodoveralllookatprogramminginAndroid,inChapter6youwillcreatebothoftheseapplicationsintheAndroidSDKcommand-lineenvironmentforMicrosoftWindowsandLinux.Inotherwords,thischaptercoversthecreationprocessinEclipse,andChapter6coversthecreationprocessusingthecommand-linetools.Therefore,beforecontinuing,youshouldcheckthatyourEclipseenvironmentiscorrectlyconfigured.ReviewthestepsinChapter3forsettingthePATH
statementfortheAndroidSDK.YoushouldalsoensurethattheJREiscorrectlyinyourPATHstatement.
TIP
Ifyouhaveconfiguration-relatedissueswhileattemptingtoworkwithanyofthecommand-lineexamples,tryreferringtotheconfigurationstepsinChapters2and3;andlookattheAndroidSDKdocumentation.
CreatingYourFirstAndroidProjectinEclipse.TostartyourfirstAndroidproject,openEclipse.WhenyouopenEclipseforthefirsttime,itopenstoanemptydevelopmentenvironment(seeFigure5-1),whichiswhere
youwanttobegin.Yourfirsttaskistosetupandnametheworkspaceforyourapplication.ChooseFile|New|AndroidProject,whichwilllaunchtheNewAndroidProjectwizard.
CAUTION
DonotselectJavaProjectfromtheNewmenu.WhileAndroidapplicationsarewritteninJava,andyouaredoingallofyourdevelopmentinJavaprojects,thisoptionwillcreateastandardJavaapplication.SelectingAndroidProjectenablesyoutocreateAndroid-specificapplications.
IfyoudonotseetheoptionforAndroidProject,thisindicatesthattheAndroidpluginforEclipsewasnotfullyorcorrectlyinstalled.ReviewtheprocedureinChapter3forinstallingtheAndroidpluginforEclipsetocorrectthis.TheNewAndroidProjectwizardcreatestwothingsforyou:
●AshellapplicationthattiesintotheAndroidSDK,usingtheandroid.jarfile,andtiestheprojectintotheAndroidEmulator.ThisallowsyoutocodeusingalloftheAndroidlibrariesandpackages,andalsoletsyoudebugyourapplicationsintheproperenvironment.
●Yourfirstshellfilesforthenewproject.Theseshellfilescontainsomeofthevitalapplicationblocksuponwhichyouwillbebuildingyourprograms.InmuchthesamewayascreatingaMicrosoft.NETapplicationinVisualStudiogeneratessomeWindows-createdprogramcodeinyourfiles,usingtheAndroidProjectwizardinEclipsegeneratesyourinitialprogramfilesandsomeAndroid-createdcode.Inaddition,theNewAndroidProjectwizardcontainsafewoptions,shownnext,thatyoumustsettoinitiateyourAndroidproject.
Figure5-1TheemptyEclipsedevelopmentenvironment
FortheProjectNamefield,forpurposesofthisexample,usethetitleHelloWorldText.
ThisnamesufficientlydistinguishesthisHelloWorld!
projectfromtheothersthatyouwillbecreatinginthischapter.
IntheContentsarea,keepthedefaultselections:
theCreateNewProjectinWorkspaceradiobuttonshouldbeselectedandtheUseDefaultLocationcheckboxshouldbechecked.
ThiswillallowEclipsetocreateyourprojectinyourdefaultworkspacedirectory.Theadvantageofkeepingthedefaultoptionsisthatyourprojectsarekeptinacentrallocation,whichmakesordering,managing,andfindingtheseprojectsquiteeasy.Forexample,ifyouareworkinginaUnix-basedenvironment,thispathpointstoyour$HOMEdirectory.
IfyouareworkinginaMicrosoftWindowsenvironment,theworkspacepathwillbeC:
/Users//workspace,asshowninthepreviousillustration.However,foranynumberofreasons,youmaywanttounchecktheUseDefaultLocationcheckboxandselectadifferentlocationforyourproject.OnereasonyoumaywanttospecifyadifferentlocationhereissimplyifyouwanttochoosealocationforthisspecificprojectthatisseparatefromotherAndroidprojects.Forexample,youmaywanttokeeptheprojectsthatyoucreateinthisbookinadifferentlocationfromprojectsthatyoucreateinthefutureonyourown.Ifso,simplyoverridetheLocationoptiontospecifyyourowncustomlocationdirectoryforthisproject.Ontheotherhand,youmayberequiredtospecifyaprojectlocationifyoudidnotchecktheUseThisastheDefaultandDoNotAskAgaincheckboxintheSelectaDefaultWorkspacedialogboxduringtheEclipsesetup(asrecommendedinthelastsectionofChapter2).CheckingthatboxduringtheEclipsesetupdefaultsallnewprojectstotheworkspacedirectory(andprovidesthedefaultlocationshownintheLocationfieldoftheNewAndroidProjectwizard).IfyoudidnotcheckthisboxduringtheEclipsesetupprocess,youneedtoselectapathforyournewprojectnowbyclickingtheBrowsebuttonandnavigatingtoit.ThefinalthreeoptionsintheNewAndroidProjectwizardareinthePropertiesarea.ThesepropertiesdefinehowyourprojectisintegratedintotheAndroidenvironment.InthePackageNamefield,youspecifythenamespacegiventoyourapplicationpackage.Forexample,or
CAUTION
ThepackagenameadherestothestandardJavapackage-naming