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();
}
}