Android下的Activity的四种启动模式

标签: android activity 模式 | 发表时间:2013-09-27 10:13 | 作者:sunalongl
出处:http://blog.csdn.net

 

一:Standard的启动模式

 Standard是默认的模式每开始一个activity,就会在栈中加一个activity,相同的也会加,

所以加多少个,就要按多少次返回键才能回到最初的界面

二:singleTop的启动模式

1.清单配置:

       <activity 

            android:name="com.itcode.taskstack.SecondActivity"

            android:label="@string/_second"

            android:launchMode="singleTop">

</activity>

    Singletop:如果任务栈的栈顶已经存在这个activity的实例,

  不会创建新的activity,而是利用旧的activity实例

 调用 旧的activity的onNewIntent()方法

2.作用:

避免一个糟糕的用户体验,如果这个界面已经被打开且在任务栈的栈顶,就不会重复开启了

 

三:Singletask的启动模式:

1.Androidfest配置:

        <activity 

            android:name="com.itcode.taskstack.SecondActivity"

            android:label="@string/_second"

            android:launchMode="singleTask">

     </activity>

2.作用:

singletask的启动模式:在任务栈里面只允许一个实例存在,假如02是singletask,

栈里是:01 02 01 03 若此时开启02,则会复用这个已经存在的activity,并且把当前activity上面其他的activity从任务栈里清空!

3.应用场景:

浏览器:底层使用的是webkit c 内核,初始化一次需要申请很多的内存资源,占用cpu时间

所以使用singletask,保证在任务栈里只会有一个实例存在

四:singleInstance的启动模式(相当于实例):

 1.Androidfest的配置:

 <activity 

            android:name="com.itcode.taskstack.SecondActivity"

            android:label="@string/_second"

            android:launchMode="singleInstance">

        </activity>

2.特点:

singleInstance的启动模式更加极端,

开启新的activity,会给自己创建一个单独的任务栈

 3.应用场景:

在整个手机操作系统里面只会有一个该activity的实例存在,

所以多个应用程序共享这个activity的实例,有线程安全问题!

作者:sunalongl 发表于2013-9-27 2:13:09 原文链接
阅读:0 评论:0 查看评论

相关 [android activity 模式] 推荐:

Android 之 Activity的加载模式

- - 移动开发 - ITeye博客
         加载模式决定以哪种方式启动一个跳转到原来某个Activity实例;.         在Android 开发中,activity 之间的跳转可能需要有多种方式,有时是普通的生成一个新实例,有时希望跳转到原来某个activity实例,而不是生成大量的重复的activity;. 3)  加载模式的种类:.

Android下的Activity的四种启动模式

- - CSDN博客推荐文章
一:Standard的启动模式.  Standard是默认的模式每开始一个activity,就会在栈中加一个activity,相同的也会加,. 所以加多少个,就要按多少次返回键才能回到最初的界面. 二:singleTop的启动模式.     Singletop:如果任务栈的栈顶已经存在这个activity的实例,.

Android Activity与Service通信

- - CSDN博客移动开发推荐文章
一、当Acitivity和Service处于同一个Application和进程时,通过继承Binder类来实现.      当一个Activity绑定到一个Service上时,它负责维护Service实例的引用,允许你对正在运行的Service进行一些方法调用. 比如你后台有一个播放背景音乐的Service,这时就可以用这种方式来进行通信.

Android 实现Activity后台运行

- - CSDN博客移动开发推荐文章
此方法其实不是主要是屏蔽Keycode_Back,让它不结束(finish())Activity,直接显示HOME界面.                                 ResolveInfo homeInfo = pm.resolveActivity(new Intent(Intent.ACTION_MAIN).

Android 之 Activity和Intent用法介绍

- - 移动开发 - ITeye博客
                            Activity 生命周期. 1、 Activity介绍.         Activity 是Android应用程序和用户交互的窗口;.     2)  运行时的Activity特点:.         i.  可见的;. 2、 Activity的生命周期.

android不同Activity之间的数据共享

- - CSDN博客移动开发推荐文章
通过不同Activity之间的消息传递机制实现数据共享. 将需要共享的变量声明为public static类型. 新建Application的子类,在该类中声明共享的变量. 在AndroidManifest.xml的application加个name属性就可以了,如下面所示:. 作者:foreverkoking 发表于2013-2-21 17:04:41 原文链接.

Android Service与Activity之间通信的几种方式

- - CSDN博客移动开发推荐文章
转载请注明地址 http://blog.csdn.net/xiaanming/article/details/9750689. 在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务,所以在我们实际开发中,就会常常遇到Activity与Service之间的通信,我们一般在Activity中启动后台Service,通过Intent来启动,Intent中我们可以传递数据给Service,而当我们Service执行某些操作之后想要更新UI线程,我们应该怎么做呢.

关于Android创建Activity需要注意的地方

- - CSDN博客推荐文章
1.在onCreate()中加载UI,在onStart()/onResume()中刷新UI. 2.在onCreate()中用Handler延时请求数据,数据处理最好是二次callback回调(第一次来自DB,第二次来自网络). 3.在Activity中尽量少创建Handler,创建一个UIHandler,一个后台HandlerThread足以.

Android上在两个Activity之间传递Bitmap对象

- - CSDN博客推荐文章
Android上在两个Activity之间传递Bitmap对象. 1.  HTTP客户端下载图片,通过ImageView对象显示. 2.  把ImageView上的Bitmap对象从当前Activity传递到另外一个. 3.  基于串行化传递Java对象数据. 首先看我是怎么实现HTTP客户端下载图片,通过异步Task接口实现HTTP客户端下载图片并通过Handler来更新ImageView,代码如下:.

Android开发教程 --- 葵花宝典第二层 Activity生命周期

- fastzhong - 博客园-首页原创精华区
   今天我准备花一节课来讲讲Activity的生命周期,这个概念还是比较重要的,相信大家看书或者资料都会提及它,可想而知. 希望大家能看了我的博客后能搞明白生命周期的概念以及在以后的代码编写中,代码往哪里去写.  有的女人就是Windows虽然很优秀,但是安全隐患太大.  有的女人就是MFC她条件很好,然而不是谁都能玩的起.