首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

activity中finish步骤的学习一

2012-12-22 
activity中finish方法的学习一今天想到一个问题,activity里面的静态变量,在activity打开新的activity时,并

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的,但是具体的原理需要后面学习的了解。。。 1 楼 nanapoleon 2012-09-02   你最后的结论有用!很好。

热点排行