黑马程序员安卓教程:服务和进程的简介.docxVIP

黑马程序员安卓教程:服务和进程的简介.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
黑马程序员安卓教程:服务和进程的简介.docx

服务和进程的几个相关概念服务的简介服务的概念最早是由微软提出来的,它可以理解为:有那么一类应用程序,能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。在Windows系统下:服务就是没有界面长期运行在后台的程序。开始→控制面板→管理工具→服务,便能打开服务的管理页面,如图1-1所示:图1-1所示图1-1即是在Windows系统下后台服务列表,我们可以手动的开启,暂停一个服务。在Android系统下:服务作为应用程序的一个组件,可以理解为长期后台运行的没有界面的Activity。进程的简介进程的概念是60年代初由麻省理工学院MULTICS系统和IBM公司的CTSS/360系统引入的。进程的定义有多种,但我们务必知道的是:进程是操作系统中运行的程序,它是操作系统资源管理的最小单位。进程是一个活动的实体,它不同于应用程序而是程序的一次执行过程。应用程序的简介应用程序是指令的集合。其本身没有任何运行的含义,是一个静态的概念。程序可以作为一种软件资料长期存在。启动模拟器,在DDMS的devices视图中可以看到运行在该模拟器上的所有进程,当手动打开模拟器桌面上的某一个应用时,可以看到devices进程列表中就会添加一条数据记录,效果如图1-2所示。图1-2所示图1-2可知:当开启一个应用程序时,进程列表中便添加一条对应的进程记录。点击“BACK”按键,退出当前打开的应用,效果如图1-3所示:图1-3所示图1-3可知:当点击“BACk”退出某一个应用时,这个应用所对应的进程仍然存在与于系统的进程列表中并没有被杀死。通过以上操作,我们可以得出如下结论:应用程序退出只代表任务栈清空了,但操作系统仍会保留该应用程序的进程。进程是应用程序的载体。Linux系统创建了一个进程(进程的ID标记:pid),这个进程负责运行DVM,而Android应用程序运的java代码行在DVM虚拟机里。我们知道Android中四大组件的组合就是一个应用程序,而一个应用程序对应多个进程。如何理解?下面我们通过一个案例来理解这一理论,编写一个Android工程命名为:“test”。实现功能:点击按钮,打开百度的首页面。关键代码如例1-1所示:例1-1publicvoid click(View view) {Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.addCategory(Intent.CATEGORY_BROWSABLE);intent.setData(Uri.parse());startActivity(intent);}运行程序,此时DDMS的进程列表中添加两条进程记录,效果如图1-4所示:图1-4图1-4可知:当启动Android工程“test”时,在进程列表中会添加进程记录“com.example.test”;当点击按键打开百度首页时,在进程列表中再添加一条记录“com.android.browser”。这个实验证实了:一个应用程序可以对应多个进程。进程的生命周期在Android中,系统会尽量的长时间的保留每一个开启的进程,目的是为了在下一次开启这个应用的时候提高启动速度。这种做法最终会导致内存不足,为了解决这个问题,系统会对这些进程按照优先级排列,当系统内存不足时便会按照优先级的高低回收这些进程。下面是进程的优先级分类:Foreground process(前台进程):一个用户正在操作的应用程序,activity的onResume方法被执行了,用户可以获取焦点,可以点击相应的点击事件。Visible process(可视进程):一个应用程序的UI界面,用户还可以看得到但却不能操作啦。Service process(服务进程):应用程序没有界面,但是还有一个服务处于运行状态。Background process(后台进程):应用程序没有服务处于运行状态,并且应用程序处于最小化(Activity执行了onstop方法)。Empty process(空进程):没有任何运行的组件,任务栈处于清空状态。在这5种进程中,优先级由高到低进行了分类,前台进程的优先级最高,空进程的优先级最低,当系统资源不足会首先杀死空进程来节约系统资源。

文档评论(0)

zhoujiahao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档