方法的学习一"/>
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的,但是具体的原理需要后面学习的了解。。。
更多推荐
activity中finish方法的学习一
发布评论