您的位置:首页 > 移动开发 > Android开发

android 四种启动模式

2015-05-09 16:23 633 查看
Activity有四种加载模式-->


017.
*
1 standard: 标准(默认)模式


018.
*
当通过这种模式来启动Activity时,<a href="http://www.it165.net/pro/ydad/"
target="_blank" class="keylink">Android</a>总会为目标


019.
*
Activity创建一个新的实例,并将该Activity添加到当前


020.
*
Task栈中.注意,这种方式不会启动新的Task,只是将新的


021.
*
Activity添加到原有的Task


022.
*


023.
*
2 singleTop: Task顶单例模式


024.
*
该模式和standard模式基本一致,但有一点不同:当将要被


025.
*
启动的Activity已经位于Task栈顶时,系统不会重新创建


026.
*
目标Activity实例,而是直接复用Task栈顶的Activity


027.
*


028.
*
3 singleTask: Task内单例模式


029.
*
采用该加载模式时,Activity在同一个Task内只有一个实例.


030.
*
当系统采用singleTask模式加载Activity时,又分为以下


031.
*
三种情况:


032.
*
(1)如果将要启动的Activity不存在,那么系统将会创建该


033.
*
实例,并将其加入Task栈顶


034.
*
(2)如果将要启动的Activity已存在,且存在栈顶,那么此时


035.
*
与singleTop模式的行为相同


036.
*
(3)如果将要启动的Activity存在但是没有位于栈顶,那么


037.
*
此时系统会把位于该Activity上面的所有其他Activity


038.
*
全部移出Task,从而使得该目标Activity位于栈顶


039.
* 


040.
*
4 singleInstance: 全局单例模式


041.
*
在此种加载模式下,无论从哪个Task中启动目标Activity,只会


042.
*
创建一个目标Activity实例且会用一个全新的Task栈来装载该


043.
*
Activity实例.


044.
*
当系统采用singleInstance模式加载Activity时,又分为以下


045.
*
两种情况:


046.
*
(1)如果将要启动的Activity不存在,那么系统将会先创建一个


047.
*
全新的Task,再创建目标Activity实例并将该Activity实例


048.
*
放入此全新的Task中


049.
*
(2)如果将要启动的Activity已存在,那么无论它位于哪个应用


050.
*
程序,哪个Task中;系统都会把该Activity所在的Task转到


051.
*
前台,从而使该Activity显示出来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: