述下Acitivty任务栈和使用方法?
分类:Android面试题 热度:

                                      

任务栈是一种后进先出的结构。位于栈顶的Activity处于焦点状态,当按下back按钮的时候,栈内的Activity会一个一个的出栈,并且调用其onDestory()方法。如果栈内没有Activity,那么系统就会回收这个栈,每个APP默认只有一个栈,以APP的包名来命名. 1、standard:默认模式:每次启动都会创建一个新的activity对象,放到目标任务栈中

2、singleTop:判断当前的任务栈顶是否存在相同的activity对象,如果存在,则直接使用,如果不存在,那么创建新的activity对象放入栈中

3、singleTask:在任务栈中会判断是否存在相同的activity,如果存在,那么会清除该activity之上的其他activity对象显示,如果不存在,则会创建一个新的activity放入栈顶

4、singleIntance:会在一个新的任务栈中创建activity,并且该任务栈种只允许存在一个activity实例,其他调用该activity的组件会直接使用该任务栈种的activity对象

方法一: 使用android:launchMode="standard|singleInstance|single Task|singleTop"来控制Acivity任务栈。 
方法二: Intent Flags:


  1.  
    Intent intent=new Intent();
  2.  
    intent.setClass(MainActivity.this, MainActivity2.class);
  3.  
    intent.addFlags(Intent. FLAG_ACTIVITY_CLEAR_TOP);
  4.  
    startActivity(intent);

Flags有很多,比如: Intent.FLAG_ACTIVITY_NEW_TASK 相当于singleTask Intent. FLAG_ACTIVITY_CLEAR_TOP 相当于singleTop

上一篇:如何保证Service不被杀死? 下一篇:有关Context相关问题总结内容?
猜你喜欢
热门排行
精彩图文
  • 最近整理的Android面试题附答案
    最近整理的Android面试题附答案
    以下都是自己整理的一些题目,并附带了解答,暂时不多,日后会接着更新。 1.请介绍下Android中常用的5种布局 Android中常用的5种布局分别为:FrameLaout(框架
  • 40个比较重要的Android面试题
    40个比较重要的Android面试题
    1、 Android的四大组件是哪些,它们的作用? 答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态
  • 有关Context相关问题总结内容?
    有关Context相关问题总结内容?
    有关Context相关问题总结? Activity和Service以及Application的Context是不一样的,Activity继承自ContextThemeWraper.其他的继承自ContextWrapper. 每一个Activity和Service以及Appl
  • 述下Acitivty任务栈和使用方法?
    述下Acitivty任务栈和使用方法?
    任务栈是一种后进先出的结构。位于栈顶的Activity处于焦点状态,当按下back按钮的时候,栈内的Activity会一个一个的出栈,并且调用其onDestory()方法。如果栈内没
  • 如何保证Service不被杀死?
    如何保证Service不被杀死?
    提供进程优先级,降低进程被杀死的概率 方法一:监控手机锁屏解锁事件,在屏幕锁屏时启动1个像素的 Activity,在用户解锁时将 Activity 销毁掉。 方法二: