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()方法
但是快速点击时候会生成两个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 launch mode
- Android 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- Android activity launch mode
- 【Android基础】Activity的启动模式(android:launchMode)
- Android activity launch mode
- Android 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- 【Android基础】Activity的启动模式(android:launchMode) .
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android activity Launch Mode & TaskAffinity解析
- android launchMode
- android:launchMode="singleTop"
- Android Activity的四种LaunchMode!!!
- 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法)
- android:launchMode="singleTop"
- Android Activity的四种LaunchMode!!!
- android:launchMode四种加载模式
- Android Activity的四种LaunchMode!!!
- Android Activity的四种LaunchMode!!!
- Activity android:launchMode