Android Activity启动模式之standard实例详解

所属分类: 软件编程 / Android 阅读数: 1826
收藏 0 赞 0 分享

本文实例讲述了Android Activity启动模式之standard。分享给大家供大家参考,具体如下:

Android的活动是通过任务Task来进行管理的,一个任务就是一组放在栈里的活动的集合,即所谓的返回栈(Back Stack)。栈具有先进后出、后进先出的特性。当启动一个活动时,活动会在返回栈中入栈,处于栈顶位置,当按下返回键或者调用finish方法会销毁一个活动,此时栈顶活动会出栈,届时又会有新的活动处于栈顶位置

在Android中,活动的启动模式有四种,根据不同的需求可以为活动设置不同的启动模式。在这里介绍standard模式。

standard模式是活动启动的默认模式,当为活动设置了此模式,每次启动都会创建一个新的实例,而不在乎该活动是否已经在返回栈中存在

(1)新建Android项目TestLaunchMode

创建完成后,修改activity_main.xml如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical" >
 <Button
  android:id="@+id/button1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="MainActivity Button" />
</LinearLayout>

(2)修改onCreate方法

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //打印当前对象
  Log.d("MainActivity", this.toString());
  //去掉title
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.activity_main);
  //获取button1
  Button button1 = (Button) findViewById(R.id.button1);
  //添加点击事件
  button1.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View view) {
    //为了测试standard启动模式,当点击按钮时,启动MainActivity活动
    Intent intent = new Intent(MainActivity.this,MainActivity.class);
    //启动活动
    startActivity(intent);
   }
  });
}

在该方法中,打印了当前活动对象,同时为按钮添加点击事件:启动本身活动。

(3)查看日志

发布android项目,为了查看效果,连续点击按钮3次,看到如下内容:

从图中可以看出,总共打印了4次(活动启动+3次点击按钮),每次的活动实例都不用,从而验证了活动启动模式standard。

此时栈中有4个MainActivity实例,连续按Back键4次才能退出应用程序。

更多关于Android Activity相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结

希望本文所述对大家Android程序设计有所帮助。

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多