activity中finish方法的学习一

今天想到一个问题,activity里面的静态变量,在activity打开新的activity时,并且调用finish(),新的activity中是否可以读到静态变量。

晚上网上查了下,说的是finish()后,静态变量还是可以读到的。
自己写了一个小case进行了验证,果然如上所述。
打开新的activity代码如下:
Intent intent=new Intent();
intent.setClass(this, new_activity.class);
startActivity(intent);
一开始是在startActivity后调用的finish(),我想要是finish()放在之前会怎么样,结果结果和之前还是一样。。。
继续google,才知道即使activity调用了finish(),也不会立即调用onDestory方法,而是执行完finish()后面的代码后才会调用onDestory方法。

自己的验证代码如下:
public void start_newActivity(){
Intent intent=new Intent();
intent.setClass(this, new_activity.class);
startActivity(intent);

Log.v(TAG, "finish");
finish();
}

@Override
protected void onDestroy() {
super.onDestroy();
Log.v(TAG, "onDestroy");
}
这样的执行结果是,finish后会立即调用onDestory;
将finish放在打开activity之前,执行结果:finish后先去打开新的activity,之后才去调用onDestory。

上面的得出的结果,代码验证是OK的,但是具体的原理需要后面学习的了解。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值