finish() : 只是把活动移出返回栈,这样按Back键时不能再返回这个活动,但并没有释放资源。
onDestroy() :回收资源,该方法由Android系统自动调用,不能人为地调用,但可以重写(@overide)。
System.exit() : 退出整个应用程序。
活动是如何结束的?
1.人为地调用finish()方法,将finish()移出返回栈,然后在某个时候Android系统自动回收资源。
2.当返回栈中的活动多于一定数量或系统内存紧张时,Android系统自动调用onDestroy()方法回收资源,选择哪个Activity进行回收呢 ?(1) 一般情况会先回收第一个。(2)优先回收CPU消耗最多的。
参考网站:
Android中finish()、onDestroy()、System.exit(0)的区别