Android任务栈简介
2015-10-16 11:16
423 查看
一个Android应用程序功能通常会被拆分为多个Activity,而各个Activity之间通过Intent进行连接,而Android系统,通过栈结构来保存整个APP的Activity,栈底的元素是整个任务栈的发起者。一个合理的任务调度栈不仅是性能的保证,更是提供性能的基础。
当一个APP启动时,如果当前环境中不存在该APP的任务栈,那么系统就会创建一个任务栈。此后,这个APP所启动的Activity都将在这个任务栈中被管理,这个栈也就被称为Task,即表示若干个Activity的集合,他们组合在一起形成一个Task。另外,需要特别注意的是,一个Task中的Activity可以来自不同的APP,同一个APP的Activity也可能不在一个Task中。
当一个Actitity启动了另一个Activity的时候,新启动的Activity就会至于任务栈的顶端,并处于活动状态,而启动它的Activity虽然功成身退,但依然保留在任务栈中,处于停止状态,当用户按下返回键或者调用finish()方法时,系统会移除顶部Activity,让后面的Activity恢复活动状态。
当一个APP启动时,如果当前环境中不存在该APP的任务栈,那么系统就会创建一个任务栈。此后,这个APP所启动的Activity都将在这个任务栈中被管理,这个栈也就被称为Task,即表示若干个Activity的集合,他们组合在一起形成一个Task。另外,需要特别注意的是,一个Task中的Activity可以来自不同的APP,同一个APP的Activity也可能不在一个Task中。
当一个Actitity启动了另一个Activity的时候,新启动的Activity就会至于任务栈的顶端,并处于活动状态,而启动它的Activity虽然功成身退,但依然保留在任务栈中,处于停止状态,当用户按下返回键或者调用finish()方法时,系统会移除顶部Activity,让后面的Activity恢复活动状态。
相关文章推荐
- 注册表的组织结构
- 选定虚拟主机 性能凸显优势
- 修改一行代码提升 Postgres 性能 100 倍
- 推荐Sql server一些常见性能问题的解决方法
- SQL Server误区30日谈 第9天 数据库文件收缩不会影响性能
- 和表值函数连接引发的性能问题分析
- SQLServer 2000 升级到 SQLServer 2008 性能之需要注意的地方之一
- SQLSERVER的非聚集索引结构深度理解
- 调整SQLServer2000运行中数据库结构
- 数据库性能优化三:程序操作优化提升性能
- C#基础语法:结构和类区别详解
- 深入c# 类和结构的区别总结详解
- c#结构和类的相关介绍
- VBS中的字符串连接的性能问题
- C#中结构(struct)的部分初始化和完全初始化实例分析
- C#中类与结构的区别实例分析
- C#枚举类型与结构类型实例解析
- javascript实现表现、结构、行为分离的选项卡效果!
- mysql 性能的检查和调优方法
- 数据库性能优化二:数据库表优化提升性能