Android启动模式

  1.  Activity有四种加载模式--> 
  2.  * 1 standard: 标准(默认)模式 
  3.  *   当通过这种模式来启动Activity时,Android总会为目标 
  4.  *   Activity创建一个新的实例,并将该Activity添加到当前 
  5.  *   Task栈中.注意,这种方式不会启动新的Task,只是将新的 
  6.  *   Activity添加到原有的Task 
  7.  *    
  8.  * 2 singleTop: Task顶单例模式 
  9.  *   该模式和standard模式基本一致,但有一点不同:当将要被 
  10.  *   启动的Activity已经位于Task栈顶时,系统不会重新创建 
  11.  *   目标Activity实例,而是直接复用Task栈顶的Activity 
  12.  *    
  13.  * 3 singleTask: Task内单例模式 
  14.  *   采用该加载模式时,Activity在同一个Task内只有一个实例. 
  15.  *   当系统采用singleTask模式加载Activity时,又分为以下 
  16.  *   三种情况: 
  17.  *   (1)如果将要启动的Activity不存在,那么系统将会创建该 
  18.  *      实例,并将其加入Task栈顶 
  19.  *   (2)如果将要启动的Activity已存在,且存在栈顶,那么此时 
  20.  *      与singleTop模式的行为相同 
  21.  *   (3)如果将要启动的Activity存在但是没有位于栈顶,那么 
  22.  *      此时系统会把位于该Activity上面的所有其他Activity 
  23.  *      全部移出Task,从而使得该目标Activity位于栈顶 
  24.  *       
  25.  * 4 singleInstance: 全局单例模式 
  26.  *   在此种加载模式下,无论从哪个Task中启动目标Activity,只会 
  27.  *   创建一个目标Activity实例且会用一个全新的Task栈来装载该 
  28.  *   Activity实例. 
  29.  *   当系统采用singleInstance模式加载Activity时,又分为以下 
  30.  *   两种情况: 
  31.  *   (1)如果将要启动的Activity不存在,那么系统将会先创建一个 
  32.  *      全新的Task,再创建目标Activity实例并将该Activity实例 
  33.  *      放入此全新的Task中 
  34.  *   (2)如果将要启动的Activity已存在,那么无论它位于哪个应用 
  35.  *      程序,哪个Task中;系统都会把该Activity所在的Task转到 
  36.  *      前台,从而使该Activity显示出来 
  37.  *  
  38.  * Android对于Activity的管理方式--> 
  39.  *   Android采用Task来管理多个Activity. 
  40.  *   当启动一个APP时,Android就会为之创建一个Task 
  41.  *   然后启动这个应用的入口Activity. 
  42.  *   但是Android并没有为Task提供API,开发者无法真正 
  43.  *   地访问Task,只能调用Activity的getTaskId()方法来 
  44.  *   获取其所在的Task的ID.事实上,我们可以把Task理解成 
  45.  *   Activity栈,Task以栈的形式来管理Activity:将不断启 
  46.  *   动的Activity压入栈.即:先启动的Activity被放入栈底, 
  47.  *   后启动的Activity放在Task栈顶 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值