Activity 的启动模式记录

1. Activity的四种启动模式

Standard : 默认启动模式,在当前应用栈中“先进后出”
SingTop: 栈顶复用模式,复用已在栈顶的 Activity ,调用 onNewIntent(); 不在栈顶的时候,同 Standard
SingTask:栈内复用模式,复用已在栈内的 Activity ,调用 onNewIntent();不在栈内的时候,同 Standard
SingInstance:单例模式,创建一个共享的单栈 Activity ,调用 onNewIntent()

动态设置的启动模式优先级高于静态设置

2. onNewIntent()

onNewIntent() 是为了保证不走 onCreate() 的时候获取 Intent等。

	/*
	* 复用Activity时的生命周期回调
	*/
	 @Override
	 protected void onNewIntent(Intent intent) {
	    super.onNewIntent(intent);
	    setIntent(intent); // 需要赋值新的 intent
	   	initView();
	    initData();
	}

3. 实现微信的两个任务栈

设置 launchMode = “singTask” taskAffinity = “不同于包名” singInstance 也可以

猜你喜欢

转载自blog.csdn.net/dingdewei113/article/details/106919441