Activity启动模式
singleTask模式
单任务栈顶复用模式
我的理解是这个任务等一下我还要用,先停止一下,我用的时候在启动
class FirstActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d("启动",this.toString())
setContentView(R.layout.first_layout)
// var button1: Button=findViewById(R.id.button1)
button1.setOnClickListener {
//singleTask的启动模式
val intent1 = Intent(this,SecondActivity::class.java)
startActivity(intent1)
//singleTask的启动模式
}
}
override fun onRestart() {
super.onRestart()
Log.d("停止状态变为运行",this.toString())
}
}
AndroidManifest.xml修改
<activity
android:name=".FirstActivity"
android:launchMode="singleTask"
android:label="firstActivity">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d("启动",this.toString())
setContentView(R.layout.second_layoul)
button2.setOnClickListener{
val intent = Intent(this,FirstActivity::class.java)
startActivity(intent)
}
}
}
我们运行一下
启动
FirstActivity
我们在点击按钮
启动了
SecondActivity
然后在单击
SecondActivity界面的按钮
从这个@7da23a5打印出来的值就可以看出不是新建了一个Activity