Android一个启动模式搞定的事情 我搞复杂了。。。顺便复习Android四种启动模式

Android的activity有四种启动模式:

要设置一个activity的启动模式就在menifest 即清单文件中这个activity的节点下 设置

android:launchMode="启动模式" 


standard

如果一个activity不设置的话这个就是默认的启动模式,一个activity在这个模式下,打开多少次这个activity就存在多少个这个activity的实例,比如进来activityA,这时候存在一个 activityA的实例,如果在activityA跳转到activityB,再从 activityB调到activityA的话,这时候按返回键会回到B,再按返回键会回到activityA;

singleTask

如果一个activity设置为这个模式的话,那么这个activity不管打开多少次,都只有一个实例,比如常见的是登录activity,如果一个登录界面有一个注册按钮,点击注册按钮跳到注册页面,如果注册页面有“已有账号直接登录”跳到登录页面的话,跳到登录页面的时候再按返回键就再回到注册页面,再按返回键又回到登录页面。
所以把这个登录的activity的启动模式设置为singleTask的话,上面的例子不管打开多少次登录页面,都只有一个登录activity的实例。

singleTop

简单的说这个模式就是当一个activity处于栈顶的时候不会连续的创建两个相同的activity,比如UC浏览器的主页面,无论你打开多少次这个主页面,只要回到这个主页面的时候,都只有一个实例,这样的话你再按系统的返回键就会退出程序

singleInstance


一个activity设置这个模式的话,如果打开这个activity的话就会创建新的任务栈,这个任务栈只有这个activity实例(不清楚任务栈的去百度百度吧~~~)





标题说的我就是因为刚做开发的时候,,,登录activity打开多次,,按返回键的时候返回了好多次的登录页面,,我想在打开其他页面的时候结束掉登录的activity,就网上百度用了activity的管理类。。。。可是又有其他的问题,贼尴尬。晚上回去洗澡的时候想到,,特么的不就是一个启动模式就搞定了吗。。新手=========


猜你喜欢

转载自blog.csdn.net/keep_my_mine/article/details/78976114