- 浏览: 85246 次
- 性别:
- 来自: 福建
文章分类
- 全部博客 (64)
- android (28)
- androidApp (1)
- GphonePlay (0)
- [随笔分类][00]JavaScript (2)
- [随笔分类][01]Spring (3)
- [随笔分类][02]Hibernate (4)
- [随笔分类][03]EXT (4)
- [随笔分类][04]项目工程 (0)
- [随笔分类][06]数据库 (1)
- [随笔分类][07]软件使用 (5)
- [随笔分类][09]Ophone (1)
- [随笔分类][08]SSH整合 (3)
- [随笔分类][13]生活随笔 (1)
- [随笔分类][15]架构与设计 (2)
- [随笔分类][16]Weekly Updates (0)
- [随笔分类][17]自我提高 (2)
- [随笔分类][18]中间件 (1)
- [随笔分类][20]测试 Debug Junit (1)
- [随笔分类][21]软件工程 (1)
- [随笔分类][22]团队合作与管理 (1)
最新评论
-
lcyaiym:
不错 ,我正在研究这个问题了。
使用Intent Filter来响应隐式Intent -
qiaoweishu:
精辟深刻,很是受益!
软件开发的精益理念 -
qiaoweishu:
吟安一个字,捏断数径须!受教了!
怎样成为优秀的软件模型设计者 -
lnx1824:
先巩固现有的j2ee,过段时间再来学习!
android HelloWord -
gryphone:
似乎并不存在实际上的匿名 其实系统也是按照对应的string ...
Android如何解析Intent Filter
杀死哪个进程来回收资源由进程中的应用程序的优先级决定的。应用程序的优先级与它的组件的最高优先级相同。
当两个应用程序的优先级相同时,那个长时间处于较低优先级的进程会被先杀死。进程的优先级同样受进程间依赖影响,如果一个应用程序依赖于另外一个应用程序的Service或Content Provider的话,那么,提供服务的应用程序至少和接受服务的应用程序一样高的优先级。
所有的应用程序在内存里运行,直到系统需要它的资源来分配给其他的应用程序。
图3-3显示了优先级树,用来决定应用程序被终止的顺序。
正确地构建应用程序来保证它的优先级适合它做的事情是很重要的。如果你不这么做,你的应用程序在某些重要时期可能会被杀死。
下面的列表详细地描述了图3-3中显示的应用程序的状态,解释了怎样由组件决定状态:
❑ Active Process
Active (前台) process是进程中依附的应用程序包含当前与用户交互的组件。这些是Android通过回收资源来极力保护持续响应性的进程。一般,极少拥有像这样的进程,它们最后才被杀死。
Active process包括:
❑ 处于“active”状态的Activity,它们运行在前台来响应用户的事件。在这章中,你将会看到更多关于Activity状态的细节。
❑ Activity, Service, 或者正在执行onReceive事件处理函数的Broadcast Receiver。
❑ 正在执行onStart,onCreate,OnDestroy事件处理函数的Service。
❑ Visible Process
可见但不活动的进程是那些拥有“可见”Activity的进程。由名字想到的,“可见”Activity是那些在屏幕上可见,但不是在前台或不响应用户事件的Activity。这种情况发生在当一个Activity被部分遮盖的时候(被一个非全屏或者透明的Activity)。一般,也极少拥有可见的进程,它们只在极端的情况被杀死来保证Active Process的运行。
❑ Started Service Process
进程中依附着已经启动的Service。Service以动态的方式持续运行但没有可见的界面。因为Service不直接和用户交互,它们拥有比visible Process较低的优先级。它们还是可以被认为是前台进程,不会被杀死,直到资源被active/visible Process需求。你将会在第8章学习到Service。
❑ Background Process
进程中依附的Activity不可见和进程中没有任何启动的Service,这些进程都可以看作是后台进程。在系统中,拥有大量的后台进程,并且Android按照后看见先杀死的原则来杀死后台进程来获取资源给前台进程。
❑ Empty Process
为了改善整个系统的性能,Android经常在内存中保留那些已经走完生命周期的应用程序。Android维护这些缓存来改善应用程序重新启动的启动时间。这些进程在资源需要的时候常常被杀死。
发表评论
-
Android如何解析Intent Filter
2009-08-23 19:31 2233匿名性质的运行时绑定 ... -
使用Intent Filter来响应隐式Intent
2009-08-23 19:14 4047如果一个Intent请求在一片数据上执行一个动作,Androi ... -
Linkify介绍
2009-08-23 17:21 3389Linkify是一个辅助类,通过RegEx样式匹配,自动地在T ... -
动态更新菜单项与处理菜单选择
2009-08-23 15:55 1513public boolean onOptionsItemS ... -
菜单项选项
2009-08-23 15:35 1262正如你所熟悉的那样,Android支持大多数传统的菜单项选项, ... -
Android菜单系统介绍
2009-08-23 15:09 1573如果你曾经尝试用手写 ... -
Layouts介绍
2009-08-23 15:05 1357Layout管理器(一般称“layouts”)是ViewGro ... -
实时改变配置
2009-08-23 15:03 1031Android通过终止、重启应用程序来重新加载资源文件,以做到 ... -
使用系统资源
2009-08-23 15:00 907Android本体应用程序具体 ... -
在资源中引用资源
2009-08-23 14:59 832在资源中引用资源 你可以在其他XML资源中通过特性来引 ... -
在代码中使用资源
2009-08-23 14:58 1208在代码中使用资源 你可以在代码中通过R静态类使用资源 ... -
Animations
2009-08-23 14:55 922Animations Android支持2种类型的动画 ... -
Layouts
2009-08-23 14:53 826Layouts Layout资源是通过在XML中设计U ... -
Styles和Themes
2009-08-23 14:51 731Styles和Themes 通过指定Views的特性值 ... -
Drawables
2009-08-23 14:50 1084Drawables Drawable资源包括位 ... -
Values
2009-08-23 14:46 1343<?xml version=”1.0” encoding ... -
资源具体化
2009-08-23 14:44 783不管你使用什么开发环境,一个良好的习惯就是保存非代码的资源(像 ... -
使用Manifest Editor
2009-08-23 14:42 1047ADT插件程序包含了一个可视化的Manifest Editor ... -
应用程序Manifest介绍
2009-08-23 14:30 1495每一个 Androi ... -
android 组件之广播接收( Broadcast receiver )
2009-08-22 16:06 4179Broadcast receivers 广播接收? ...
相关推荐
在实验中,我们还学习了进程调度的基本概念,包括进程的基本状态(就绪、执行、完成)、进程控制块的结构、链表的应用等。通过这个实验,我们加深了对进程概念和进程调度过程的理解。 知识点: 1. 进程概念:进程...
PCB 中包含进程的标识符、优先级、累计占用 CPU 的时间片数、到完成还需要的时间片数、进程状态和链指针等信息。 在程序流程图中,我们使用流程图描述了实验的执行过程。首先,我们输入要创建的进程数目,然后创建...
6. **优先级反转和死锁预防**:在优先级调度中,需要考虑优先级反转(低优先级进程持有高优先级进程所需的资源)和死锁(多个进程互相等待对方释放资源)的问题。可以通过优先级继承或资源预分配等策略来解决。 在...
3. 上下文切换模拟,包括保存和恢复进程状态。 4. 系统时间模拟,监控时间片的消耗和进程的执行情况。 5. 输出调度结果,如进程执行顺序、CPU利用率等。 通过这个课程设计,你可以深入理解操作系统中的进程调度原理...
在这个模拟程序中,进程被表示为PCB(Process Control Block),其中包含了关于进程的重要信息,如进程名、优先级、到达时间、需要时间、已用时间和当前状态。 `AddProcess`函数允许用户输入进程的详细信息,包括...
通过模拟设计,学生可以深入理解进程调度的功能和算法,掌握编程语言的使用,并提高自己的编程能力和问题解决能力。 在设计中,我们首先对进程调度的功能进行了分析,包括记录系统中所有进程的执行情况、选择占有...
"ThreeState"这个程序可能是通过模拟进程状态转换来帮助用户理解这一概念。它可能包含以下组件: 1. 图形化界面:显示进程的三种状态,通过图形元素(如按钮、进度条或图表)展示状态转换过程。 2. 控制逻辑:用户...
进程调度是操作系统中至关重要的部分,它决定了系统如何在多个并发...通过分析和优化这些模拟程序,可以深入研究如何平衡系统响应时间和资源利用率,这对理解操作系统内核的工作方式和提升系统设计能力具有重要意义。
2. 可视化展示:界面可能包含一个显示所有进程状态和优先级的列表,以及可能的进度条或图表来表示CPU的使用情况。 3. 事件响应:程序需要能够响应用户的操作,如按钮点击,及时更新显示和进程调度。 总的来说,这个...
在提供的代码中,程序创建了父进程和子进程,它们分别执行不同的任务并展示各自的优先级和调度器状态。当接收到特定信号(SIGINT和SIGTSTP)时,进程的优先级会相应地增加或减少。这允许观察不同调度策略下,优先级...
为了更好地管理和控制进程,Linux定义了一系列的进程状态来表示进程当前所处的不同情况。理解这些状态对于系统管理员和开发人员来说至关重要,它有助于更有效地调试程序、监控系统性能以及优化资源利用。 #### 进程...
2. **进程状态转换**:进程在执行过程中可以经历多种状态,如就绪、运行、阻塞。例如,当一个进程被分配到CPU执行时,其状态从就绪变为运行;如果进程等待I/O操作完成,则会进入阻塞状态。 3. **进程同步与通信**:...
它存储了进程的各种状态信息,如进程ID、进程状态(如就绪、运行、等待)、优先级、资源分配情况、上下文信息(如程序计数器、寄存器值)等。在实验中,你需要创建一个模拟的PCB,用于记录进程的基本信息,如到达...
在这个“进程线程方面的应用程序”资源中,我们有机会通过实例代码来深入学习这两个核心概念。 首先,我们要明白**进程**的基本含义。在操作系统中,进程可以被看作是一个正在执行的程序的实例。它拥有自己的内存...
在C++ Builder和Windows SDK中,让一个应用程序在后台持续运行涉及到进程管理、窗口...通过理解和应用上述知识点,开发者可以有效地创建能在后台持续运行的C++ Builder应用程序,无论是作为独立的进程还是Windows服务。
2. 资源管理:在多任务环境中,优先级管理可以帮助确保关键任务不被其他低优先级进程抢占资源。 3. 避免卡顿:当系统资源紧张时,调整某些进程的优先级可以防止系统因某个资源消耗大的进程而变得卡顿。 三、如何...
这款工具在IT行业内被广泛用于软件开发、调试和性能优化,尤其对于理解应用程序的运行机制至关重要。 首先,我们要了解的是"窗口"在Windows系统中的概念。窗口是用户与应用程序交互的基本界面,每个应用程序至少有...
本教程“011_android之 进程及其优先级别”深入探讨了Android中的进程管理,以及不同进程的优先级,这对于优化应用程序性能和理解系统资源分配至关重要。 首先,Android系统中有五种进程状态,它们分别是: 1. **...
1. **抢占式优先级调度**:如果一个较高优先级的进程就绪,它可以中断当前正在运行的较低优先级进程,立即获取CPU。 2. **非抢占式优先级调度**:一旦进程开始执行,即使有更高优先级的进程就绪,也不会被抢占,直至...