Android System.exit(0)、finish()、onDestory()和finishAffinity区别

一、System.exit(0)

是java提供的方法
直接结束整个APK进程,直接杀掉虚拟机,不会执行onDestory这种生命周期函数,比较简单粗暴,但是退出时的动画效果就跟闪退一样,观感不太好。

二、finish()

结束调用该方法的Activity,只是结束一个Activity,会触发Activity的onDestory函数

三、onDestory()

Activity的生命周期方法,被销毁时调用,用于释放所用的内存资源

四、finishAffinity()

关闭当前activity所属的activity栈中所有的activity。如果所有activity都保存在默认栈中,则使用该方法会直接退出程序

你可能感兴趣的:(Android,android)