Activity启动模式第一种标准的启动模式 standard

Activity启动模式

标准的启动模式 standard

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 {//注册一个监听器
            //Activity的启动模式
            val intent1 = Intent(this,FirstActivity::class.java)
            startActivity(intent1)
            //Activity的启动模式
}//按钮

}

override fun onDestroy() {
        super.onDestroy()
        Log.d("销毁",this.toString())
    }
}

连续点击3次按钮

 对于使用standard模式的Activity系统不会知乎这个Activity是否存在,每次启动都会创建一个该Activity的新实例

在standard模式下每当启动一个新的Activity 它都会从返回栈中入栈,并处于栈顶, 所以这个Activity      @48bd36a    处于栈顶

 2020-12-08 13:36:36.089 8953-8953/com.example.activitytest D/启动: com.example.activitytest.FirstActivity@48bd36a   这个实例在栈顶

每点击一次按钮就会创建一个新的实例   此时返回栈中也存在3个实例,

因此需要连续点击3次Back键才能退出程序

 2020-12-08 13:49:15.223 8953-8953/com.example.activitytest D/销毁: com.example.activitytest.FirstActivity@48bd36a

为什么是@48bd36a先被销毁呢,因为它处于栈顶

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值