zoukankan      html  css  js  c++  java
  • Android中Activity的四种开发模式


      Activity的四种启动模式:standard、singleTop、singleTask、singleInstance
      清单文件中的Activity配置使用:android:launchMode=""属性指定启动模式
     1、standard:默认模式,每次启动都会创建一个新的Activity对象,放到目标任务栈的栈顶
     2、singleTop:判断当前的任务栈顶是否存在相同的Activity,如果存在,直接使用,如果不存在,创建一个新的Activity对象放入栈顶
     3、singleTask:在任务栈中判断是否存在相同的Activity,如果存在,那么会清楚该Activity之上的所有Activity对象显示,
     如果不存在,创建一个新的Activity对象放入栈顶
     4、singleInstance:会在一个新的任务栈中创建Activity,并且该任务栈中只允许存在一个Activity实例,
     其他调用该Activity的组件会直接使用该任务栈中的Activity对象
      
     
     可以再代码中使用 intent.setFlags(); 设置Activity的启动模式:
     Intent intent = new Intent(this, MainActivity7.class);
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
     startActivity(intent);

    public class MainActivity7 extends Activity {
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main7);
    	}
    	
    	public void start1(View v){
    		Intent intent = new Intent(this, MainActivity7.class);
    		//相当于singleTask
    		intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    		//相当于singleTop
    //		intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    		startActivity(intent);
    	}
    	public void start2(View v){
    		Intent intent = new Intent(this, MainActivity8.class);
    		startActivity(intent);
    	}
    }


  • 相关阅读:
    一对多关系处理
    java中转换不同时区的时间
    maven
    学习设计模式
    算法
    mongodb学习总结
    mybatis源码分析(四) mybatis与spring事务管理分析
    学习数据库四大特性及事务隔离级别
    mybatis源码分析(三) mybatis-spring整合源码分析
    mybatis源码分析(二) 执行流程分析
  • 原文地址:https://www.cnblogs.com/liuyanmin/p/5146535.html
Copyright © 2011-2022 走看看