android:launchMode

Activity加载模式(android:launchMode):
 
standard//每次启动都增加一个实例
{
    创建新实例添加到当前Task栈
}
 
singleTop//在一个Task栈栈顶只会有一个实例
{
    if ( 当前Task栈.topActivity == thisActiviy )
    {
        回调onNewIntent();
    }
    else
    {
        创建新实例添加到当前Task栈
    }
}
 
singleTask//在一个Task栈中只会有一个实例
{
    if ( 当前Task栈.contains(thisActivity) == true )
    {
        将Task栈中位于该Activity之上的其它Activity都清除,从而使该Activity位于栈顶;
        回调onNewIntent();
    }
    else
    {
        创建新实例添加到当前Task栈
    }
}
singleInstance//整个系统当中只会有一个实例,该实例拥有独享的Task栈
{
    if (thisActivity没有实例存在)
    {
        创建新的Task栈,创建新的Activity实例。该Task栈是该Activity实例独享。
    }
    else if ( thisActivity有实例存在 )
    {
        将该Activity实例所在的Task栈(这个Task栈一定是该Activity实例独享的)转到前台,回调onNewIntent();
    }
}

你可能感兴趣的:(android)