大家都知道Activity是保存在栈里面的,调用finish就可以返回上一个activity,可是这么做以后当前的activity被置于栈的什么位置呢?

解决方案 »

  1.   

    如果Activity,finish了,就是不存在了,销毁了。
      

  2.   

    额,,,对了,想要恢复栈顶下的Activity只能这么做吗?那我当前的Activity就不能恢复了。
      

  3.   

    不是一定要finish()才能回退到下一个的activity,直接按返回就可以回退的呀!!(standard模式下)
    建议你先看看 android launchMode
      

  4.   

    不妨看看Android 中Activity的生命周期,看API也好,到网上找讲解Activity的生命周期的视频也好。www.cmd100.com,你可以到这个网站上找找,视频讲解的很透彻。
      

  5.   

    既然,你知道是栈的数据结构,就已经成功了 。尽管先进后出,并不代表你退出(finishi())或者是返回时,  这个Activity的状态就保存不了。想要明白,还是自己去看下API中DEV guide中Activity的生命周期的内容。那个讲的很详细。针对你的问题:   如果Activity.this.finish();则这个活动,生命周期就走到末尾了(onDestroy())。完整的周期:onCreate-->onStart-->onResume-->onPause-->onStop-->onDestroy.如果你想,保存这个你要关闭的活动的状态(参数配置)。那么你就需要在onDestroy之前采取一些处理方式来保存当前活动中你要预留的状态。一般情况下,是在onPause(),onStop,onDestroy( finish()语句执行之前 ).来做事件的处理,保存你要的状态。    也可以用savedInstanceState()方法,来保存状态。具体的实现,你可以找找相关的生命周期的示例。
      

  6.   

    Activity 的销毁不是我们能控制的,系统决定的,可以去看api
      

  7.   

    调用finish()方法就是销毁了调用的Activity,现在看到的Activity位于你销毁的Activity的上面。Activity在栈中是先进后出的
      

  8.   

    调用finish()之后,销毁当前Activity,跳转到上一个Activity。
    置于栈顶,