android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别

Activity.finish()

Call this when your activity is done and should be closed. 

在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。

当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移出了栈,所以当你点击手机上面的“back”按键的时候,也不会找到这个Activity。

 

Activity.onDestory()

the system is temporarily destroying this instance of the activity to save space.

系统销毁了这个Activity的实例在内存中占据的空间。

在Activity的生命周期中,onDestory()方法是他生命的最后一步,资源空间什么的都没有咯~~。当重新进入此Activity的时候,必须重新创建,执行onCreate()方法。

 

System.exit(0)

这玩意是退出整个应用程序的,是针对整个Application的。将整个进程直接KO掉。

 

当A——B——C——D .使用singleTask启动。如果每次startActivity()的时候当前Activity调用finish()。那么再次启动这个Activity的时候会重新创建一个Activity实例并压入栈。因为finish()方法把原来的activity实例移除栈了。

猜你喜欢

转载自lydia-fly.iteye.com/blog/2007065
今日推荐