Activity设置启动模式的两种方式

Activity的启动模式用于设置任务栈管理其方式,通常有两种方式设置Activity启动模式。

  • 一种是在AndroidManifest.xml文件中的节点中设置android:launchMode属性

可以设置四种standard,singleTop,singleTask,singleInstance;详细含义点击查看《Android开发艺术探索》学习总结2 Activity启动模式,比如:

  • 一种就是通过在开启Activity的时候,通过设置Intent Flag来设置
Intent intent=new Intent(this,TransitionActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

下面就来介绍第二种方式几个常用的Flag:

(1)FLAG_ACTIVITY_SINGLE_TOP

其效果和第一种singleTop模式一样

(2)FLAG_ACTIVITY_CLEAR_TOP

其效果和第一种singleTask模式一样

(3)FLAG_ACTIVITY_NO_HISTORY

其效果是当某个Activity以这种方式启动的时候,其再去启动其他Activity,则该Activity就消失了;比如,A以这种方式启动B,B启动了C,那么Activity的任务栈中就只有AC了

(4)FLAG_ACTIVITY_NEW_TASK

其效果是启动的activity在一个新的任务栈中,功能和第一种singleInstance模式一样,通常用于在一个没有Activity任务栈的环境里开启一个Activity,就好比我们经常使用的服务里面。

注:欢迎扫码关注

 

你可能感兴趣的:(Android基础,随笔)