Android Activity的四种LaunchMode

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 04:18 点击:

本文转自: http://marshal.easymorse.com/archives/2950. 写的非常好,分享给大家!!!

在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。

这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。

加载模式分类及在哪里配置
Activity有四种加载模式:

standard
singleTop
singleTask
singleInstance
设置的位置在AndroidManifest.xml文件中activity元素的android:launchMode属性:

<activity android:name="ActB" android:launchMode ="singleTask"></activity>

也可以在Eclipse ADT中图形界面中编辑:

 image

区分Activity的加载模式,通过示例一目了然。这里编写了一个Activity A(ActA)和Activity B(ActB)循环跳转的例子。对加载模式修改和代码做稍微改动,就可以说明四种模式的区别。

standard
首先说standard模式,也就是默认模式,不需要配置launchMode。先只写一个名为ActA的Activity:

view plaincopy to clipboardprint?
package com.easymorse.activities;  
import android.app.Activity;  
import android.content.Intent;  
import android.os.Bundle;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
import android.widget.LinearLayout;  
import android.widget.TextView;  
public class ActA extends Activity {  
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        TextView textView = new TextView(this);  
        textView.setText(this + "");  
        Button button = new Button(this);  
        button.setText("go actA");  
        button.setOnClickListener(new OnClickListener() {  
            @Override 
            public void onClick(View v) {  
                Intent intent = new Intent();  
                intent.setClass(ActA.this, ActA.class);  
                startActivity(intent);  
            }  
        });  
        LinearLayout layout = new LinearLayout(this);  
        layout.setOrientation(LinearLayout.VERTICAL);  
        layout.addView(textView);  
        layout.addView(button);  
        this.setContentView(layout);  
    }  

    package com.easymorse.activities;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClic

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Android 完全退出程序
      • 原创:Android应用开发-Andorid歌词秀,含源码
      • android 屏幕保护
      • Android手机软件汉化教程---第四课 dex文件汉化
      • 众多Android 开源项目推荐,给力工作给力学习
      • Android Audio代码分析4
      • Android得到已安装的应用程序信息!
      • Android开发者指南(29) —— USB Host and Accessory
      • Android成长的幕后推手:工程师鲁宾
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1