- 浏览: 82767 次
- 性别:
- 来自: 福建
文章分类
- 全部博客 (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 2184匿名性质的运行时绑定 ... -
使用Intent Filter来响应隐式Intent
2009-08-23 19:14 4007如果一个Intent请求在一片数据上执行一个动作,Androi ... -
Linkify介绍
2009-08-23 17:21 3339Linkify是一个辅助类,通过RegEx样式匹配,自动地在T ... -
动态更新菜单项与处理菜单选择
2009-08-23 15:55 1485public boolean onOptionsItemS ... -
菜单项选项
2009-08-23 15:35 1220正如你所熟悉的那样,Android支持大多数传统的菜单项选项, ... -
Android菜单系统介绍
2009-08-23 15:09 1533如果你曾经尝试用手写 ... -
Layouts介绍
2009-08-23 15:05 1304Layout管理器(一般称“layouts”)是ViewGro ... -
实时改变配置
2009-08-23 15:03 997Android通过终止、重启应用程序来重新加载资源文件,以做到 ... -
使用系统资源
2009-08-23 15:00 871Android本体应用程序具体 ... -
在资源中引用资源
2009-08-23 14:59 792在资源中引用资源 你可以在其他XML资源中通过特性来引 ... -
在代码中使用资源
2009-08-23 14:58 1172在代码中使用资源 你可以在代码中通过R静态类使用资源 ... -
Animations
2009-08-23 14:55 889Animations Android支持2种类型的动画 ... -
Layouts
2009-08-23 14:53 769Layouts Layout资源是通过在XML中设计U ... -
Styles和Themes
2009-08-23 14:51 679Styles和Themes 通过指定Views的特性值 ... -
Drawables
2009-08-23 14:50 1034Drawables Drawable资源包括位 ... -
Values
2009-08-23 14:46 1304<?xml version=”1.0” encoding ... -
资源具体化
2009-08-23 14:44 735不管你使用什么开发环境,一个良好的习惯就是保存非代码的资源(像 ... -
使用Manifest Editor
2009-08-23 14:42 994ADT插件程序包含了一个可视化的Manifest Editor ... -
应用程序Manifest介绍
2009-08-23 14:30 1440每一个 Androi ... -
android 组件之广播接收( Broadcast receiver )
2009-08-22 16:06 4136Broadcast receivers 广播接收? ...
相关推荐
(1) 设计一个模块,要求列出系统中所有内核线程的程序名、PID 号、进程状态及 进程优先级。 (2) 设计一个带参数的模块,其参数为某个进程的 PID 号,该模块的功能是列出该 进程的家族信息,包括父进程、兄弟进程和...
目的是理解进程调度算法及其应用。 1)设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。 2)模拟调度程序可任选两种调度算法之一实现。 3)程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察...
综合应用下列知识点设计并实现操作系统的进程调度:邻接表,布尔数组,非阻塞输入,图形用户界面GUI,进程控制块,进程状态转换,多级反馈队列进程调度算法。 2、 加深理解操作系统进程调度的过程。 3、 加深理解...
1、 综合应用下列知识点设计并实现操作系统的进程调度:邻接表,布尔数组,非阻塞输入,图形用户界面GUI,进程控制块,进程状态转换,多级反馈队列进程调度算法。 2、 加深理解操作系统进程调度的过程。 3、 加深...
1、 综合应用下列知识点设计并实现操作系统的进程调度:邻接表,布尔数组,非阻塞输入,图形用户界面GUI,进程控制块,进程状态转换,多级反馈队列进程调度算法。 2、 加深理解操作系统进程调度的过程。 3、 加深...
第12章 应用服务器的实现 12.1 创建应用服务器的实例 12.2 状态区编程 12.3 动态数据库的连接 12.4 远程数据模块的建立 第13章 客户端应用程序的设计 13.1 客户端应用程序系统流程和系统功能 13.1.1 系统流程 13.1.2...
3.5 理解应用程序的优先级和进程状态 3.6 分离资源 3.6.1 创建资源 3.6.2 使用资源 3.6.3 To-DoList资源示例 3.6.4 为不同的语言和硬件创建资源 3.6.5 运行时配置更改 3.7 深入探讨Android活动 ...
3.5 理解应用程序的优先级和进程状态 3.6 分离资源 3.6.1 创建资源 3.6.2 使用资源 3.6.3 To-DoList资源示例 3.6.4 为不同的语言和硬件创建资源 3.6.5 运行时配置更改 3.7 深入探讨Android活动 ...
3.5 理解应用程序的优先级和进程状态 3.6 分离资源 3.6.1 创建资源 3.6.2 使用资源 3.6.3 To-DoList资源示例 3.6.4 为不同的语言和硬件创建资源 3.6.5 运行时配置更改 3.7 深入探讨Android活动 3.7.1 创建一个活动 ...
3.5 理解应用程序的优先级和进程状态 49 3.6 分离资源 50 3.6.1 创建资源 50 3.6.2 使用资源 57 3.6.3 To-Do List资源示例 60 3.6.4 为不同的语言和硬件创建资源 61 3.6.5 运行时配置更改 62 3.7 深入探讨...
2.5 小结 第3章 创建应用程序和活动 3.1 Android应用程序的组成部分 3.2 程序清单简介 3.3 使用清单编辑器 3.4 Android应用程序生命周期 3.5 理解应用程序的优先级和进程状态 3.6 分离资源 3.6.1 创建资源 3.6.2 ...
在UNIX操作系统中,每个应用程序的执行都在操作系统内核中登记一个进程标志,操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配。每个进程都有自己的内存单元,进程之间是互相独立的,一个进程一般不...
13.1 客户端应用程序系统流程和系统功能 13.1.1 系统流程 13.1.2 系统功能 13.2 构建客户端应用程序框架 第14章 动态连接应用服务器的实现 第15章 通用权限管理模块的设计 15.1 系统登录的设计 15.2 权限...
系统调用是操作系统内核与用户程序、应用程序之间的接口。在UNIX/Linux系统,系统调用以C函数的形式出现。 第2章 进程管理 考核学生对进程定义、进程的状态及其转换、进程的组成、竞争条件和临界区、进程的同步...
第4章 应用程序框架和设计 79 4.1 理解Delphi环境和项目的体系结构 79 4.2 构成Delphi 5项目的文件 79 4.2.1 项目文件 80 4.2.2 单元文件 80 4.2.3 窗体文件 80 4.2.4 资源文件 81 4.2.5 项目选项及桌面设置文件 81 ...
是帮助读者深入探索和掌握公共语言运行时、C#和.NET开发的重要参考,同时也是帮助开发人员构建任何一种应用程序(如Microsoft Silverlight、ASP.NET、Windows Prensentation Foundation、Web服务和控制台应用程序)的...