Applications,Acitivities,Activity Stack, Tasks等几个概念的含义
来源:互联网 发布:网络用语凉了 编辑:程序博客网 时间:2024/06/07 04:10
一个apk文件就是一个aplication,任何一个Android Application基本上是由一些Activities组成,当用户与应用程序交互时其所包含的部分Activities具有紧密的逻辑关系,或者各自独立处理不同的响应。这些Activities捆绑在一起成为了一个处理特定需求的Application, 并且以“.apk”作为后缀名存在于文件系统中。Android平台默认下的应用程序例如:Email、Calendar、Browser、Maps、Text Message、Contacts、Camera和Dialer等都是一个个独立的Apps。
2.Activities
上边已经提到Activities是构成Applications的主要组成部分,其实可以更为具体的理解为Application仅仅是一个抽象的标签,它将系统内一部分Activities关联在一起,协同完成用户的特定需求。安装 Application的过程也可以简单理解为将其所包裹的Activities导入到当前的系统中,如果系统中已经存在了相同的Activities,那么将会自动将其关联,而不会重复安装相同的Activities,避免资源的浪费。Application卸载的过程也会检查当前所关联的 Activities是否有被其它Application标签所关联,如果仅仅是提供当前的Application使用,那么将会彻底被移除,相反则不做任何操作。
用户与Application的交互行为大部分都是通过GUI来完成,在Android平台可以有两种方式定义GUI,其中可以利用XML来预置静态的GUI元素,或者在Activity类的内部动态定义GUI元素。这两种不同的方法都是由 Activity作为驱动和响应用户交互事件的主体。当启动Application之后,至少需要一个包含有GUI信息的Activity实例被创建。
3.Activity Stack
操作应用程序时,有时需要调用多个Activities来完成需求,例如:发送邮件程序,首先是进入邮件主界面,然后启动一个新的Activity用于填写新邮件内容,同时可以调出联系人列表用于插入收件人信息等等。在这个操作过程中 Android平台有一个专门用于管理Activities堆栈的机制,其可以方便的线性记录Activities实例,当完成某个操作时,可以通过这个导航功能返回之前的Activity(通过按操作台的“Back”)。
每次启动新的Activity都将被添加到Activity Stack。用户可以方便的返回上一个Activity直到Home Screen,到达Home Screen后,将无法再继续查看堆栈记录(俗话说:到头了- Androidres.com)。
相对于Views、Windows、Menus和Dialogs而言,Activity是唯一可被记录在History stack中的数据,所以当你所设计的应用程序需要用户由A界面进入到次一级界面B,当完成操作后需要再次返回A,那么必须考虑将A看作为 Activity,否则将无法从历史堆栈中返回。
4.Tasks
在Android平台上可以将Task简单的理解为由多个Activities共同协作完成某一项应用,而不管Activities具体属于哪个 Application。
通过下边的图示可以更清晰的理解Applications、Tasks、Activities三者之间的关系 :
- Applications,Acitivities,Activity Stack, Tasks等几个概念的含义
- Tasks、 activity 及 activity stack
- Tasks、 activity 及 activity stack
- activity tasks-and-back-stack
- android之Activity的Tasks and Back Stack
- 安卓:Activity:Tasks and Back Stack
- Activity、Task、Back Stack的概念----Activity的管理
- Z-Stack协议中几个重要概念的理解
- Activity 的Managing Tasks属性
- Android笔记 activity生命周期 Tasks and back stack回退栈
- 四大组件----Activity(三)----Tasks and Back Stack
- 关于Tasks and Back Stack的理解
- HOTSPOT 虚拟机noclassgc等几个参数的含义
- [概念]iOS中assign、copy 、retain等关键字的含义
- Android的Activity和Tasks详解
- Android的Activity和Tasks详解
- Android的Activity和Tasks详解
- Android的Activity和Tasks详解
- 二次比拼 三款主流浏览器谁是王者?
- SQLSERVER通过游标查询两个数据表共有字段名组合成的字符串
- 关于信噪比与向已知信号添加噪声的整理及个人心得
- 《算法导论》 6.2 d叉堆的分析
- 常用 Java 静态代码分析工具的分析与比较
- Applications,Acitivities,Activity Stack, Tasks等几个概念的含义
- 现象:APACHE调用PHP执行慢4到5秒
- 【循环链表】约瑟夫死亡游戏
- linux终端快捷键
- Linker and Libraries Guide Chapter 1 Introduction to the Solaris OS Link Editors
- Linker and Libraries Guide --Chapter 2 Link-Editor
- Android 之 Handler总结
- 作为软件工程师,你必须知道的20个常识
- Linker and Libraries Guide Chapter 3 Runtime Linker