Android进程与线程基础

本文介绍了Android操作系统的进程管理机制,包括其与Linux的区别、进程重要性的评估方式、进程的分类及结束顺序等内容。

写一些自己对于Android进程管理以及进程线程相关知识学习的体会。

首先我们知道,Android操作系统是基于Linux内核的,但是它的进程管理机制却不同于Linux。Linux对于进程的管理策略是这样的:当进程活动停止后,就结束这进程。但是在Android中,当进程的活动停止之后,并不会结束这些进程,而是把它们驻留在内存中,直到系统需要更多的内存。这样做得目的是:驻留在系统中得进程并不会影响系统的整体运行速度,反而当用户重新激活这些进程时,会提升进程的启动速度。所以我们在使用Android操作系统时人为的关闭进程是没有太大必要的。但是当内存剩余很小时,开启耗内存的大型程序会很慢,这是因为系统剩余内存不够支撑大型程序开启,会触发系统的进程调度机制,关闭一些进程。所以在开启大型程序时,关闭一些进程,是可取的。

那么系统将在何时选择结束进程?并且结束哪个进程?

简单的说,Android进程管理依赖于一个LRU(Least Recently Used 近期最少使用)进程队列。详细来说:

  1. 系统会对进程的重要性进行评估,并且将重要性以"oom_adj"这个数值表示出来,富裕各个进程,然后系统根据“oom_adj”来判断结束哪些进程,一般来说“oom_adj”的值越大,该进程被系统选中的可能性就越高。
  2. 前台程序的“oom_adj”的值为0,意味着它不会被系统终止,一旦它不可被访问后,会获得更高的“oom_adj”,"oom_adj"的值可能是根据进程在LRU队列中得位置决定的。
  3. Android可以根据“oom_adj”来决定进程调度策略。

Android将进程分为六大类:

  • 前台进程(foreground):目前正在屏幕上显示的进程和一些系统进程。举例来说,当你的浏览器在屏幕上显示时,浏览器属于前台进程,当我们按home键回到主界面之后,浏览器就变成了后台进程(background)。我们最不希望终止的就是前台进程。
  • 可见进程(visible):可见进程是一些不在前台,但是用户依然可见的进程。比如说:输入法,widget(比如说天气、闹钟等桌面控件)。这些进程虽然不在前台,但是跟我们的使用密切相关,我们也不希望它被终止。
  • 次要服务(secondary server):目前正在运行的一些服务。(主要服务,如拨号等,是不会被进程管理程序终止的)。
  • 后台进程(hidden):后台进程(也可以叫background),就是我们通常意义上理解的被切换到后台的进程,比如说浏览器,阅读器,当程序在屏幕上显示时是前台进程,一旦我们按了home键返回到主界面,程序就驻留在了后台,成为了后台程序。
  • 内容提供节点(content provider):没有程序实体,提供内容供别的程序去用,在终止程序时有较高的优先级。
  • 空进程(empty):没有任何东西在内运行的进程,有些程序,比如BTE,在程序退出后,依然会在进程中驻留一个空进程,这个进程里没有任何数据在运行作用往往是提高程序下次的启动速度,或者时记录程序的一些历史信息,是最应该被终止的。

所以进程结束的有限顺序是:

  • empty>Content 
  • Provider>Hidden>Secondary 
  • Server>Visible>Foreground

潮汐研究作为海洋科学的关键分支,融合了物理海洋学、地理信息系统及水利工程等多领域知识。TMD2.05.zip是一套基于MATLAB环境开发的潮汐专用分析工具集,为科研人员工程实践者提供系统化的潮汐建模计算支持。该工具箱通过模块化设计实现了两大核心功能: 在交互界面设计方面,工具箱构建了图形化操作环境,有效降低了非专业用户的操作门槛。通过预设参数输入模块(涵盖地理坐标、时间序列、测站数据等),用户可自主配置模型运行条件。界面集成数据加载、参数调整、可视化呈现及流程控制等标准化组件,将复杂的数值运算过程转化为可交互的操作流程。 在潮汐预测模块中,工具箱整合了谐波分解法潮流要素解析法等数学模型。这些算法能够解构潮汐观测数据,识别关键影响要素(包括K1、O1、M2等核心分潮),并生成不同时间尺度的潮汐预报。基于这些模型,研究者可精准推算特定海域的潮位变化周期振幅特征,为海洋工程建设、港湾规划设计及海洋生态研究提供定量依据。 该工具集在实践中的应用方向包括: - **潮汐动力解析**:通过多站点观测数据比对,揭示区域主导潮汐成分的时空分布规律 - **数值模型构建**:基于历史观测序列建立潮汐动力学模型,实现潮汐现象的数字化重构预测 - **工程影响量化**:在海岸开发项目中评估人工构筑物对自然潮汐节律的扰动效应 - **极端事件模拟**:建立风暴潮天文潮耦合模型,提升海洋灾害预警的时空精度 工具箱以"TMD"为主程序包,内含完整的函数库示例脚本。用户部署后可通过MATLAB平台调用相关模块,参照技术文档完成全流程操作。这套工具集将专业计算能力人性化操作界面有机结合,形成了从数据输入到成果输出的完整研究链条,显著提升了潮汐研究的工程适用性科研效率。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值