您的位置:首页 > 移动开发 > Android开发

Android launchmode

2016-12-28 15:22 260 查看
之前遇到一个问题,点击一个按钮跳转到另一个界面(在A界面点击按钮,跳转到B界面),

但是快速点击时候会生成两个B界面.

引入正题:launchmode

在Android  manifest 的Activity的一条属性,该属性有四个值

1.standard 默认值,不设置就是这个值(可以自己尝试快速点击按钮进行intent跳转)

该模式下,每次new Activity 都会生成一个新的Activity,造成快速点击后 进入多个目标activity

2.singleTop  只要目标Activity不在栈顶都会重新创建

这种模式可以解决连击问题,如果目标不在栈顶会创建目标activity至到栈顶如果目标activity刚好在栈顶,只会执行其onNewIntent()
方法

3. singleTask

跟singleTop 有点像,目标activity不存在会创建并入栈,
 但是如果目标activity存在,会将其放到栈顶(同时调用onNewIntent()方法),并把它上面的activity出栈

4.singleInstance

这种模式比较特殊,会在一个新的栈中创建目标activity,所有的应用会共享目标activity,不管哪个应用调用该activity都会进入同一个activity并调用onNewIntent()方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android launchmode 连击