Android 关于 App 退出
退出有两种情况
1. 点击返回按钮
1.1 不对返回按钮做处理
最后留着的activity,一般为主页面,会依次执行 onStop()
和 onDestory()
方法
1.2 对返回按钮做处理,重写onKeyDown方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
finish();
System.exit(0);
return true;
}
return super.onKeyDown(keyCode, event);
}
这里强调
System.exit(0);
如果在finish()之后就不调用上面代码,activity的 onStop()
和 onDestory()
还是执行;
但如果调用 System.exit(0);
activity的 onStop()
和 onDestory()
将都不会执行。
2. 在任务列表关闭应用
-
在打开任务列表时,当前的activity就会执行
onStop()
方法 -
把应用从任务列表移除时,activity的
onDestory()
方法不一定会执行,视手机情况例如:
小米9: 不会执行 onDestory() 方法,Application对象会销毁。 某型号:会执行onDestory() 方法; 但Application对象不会销毁,下次打开还使用是上次Application对象; 在调用System.exit(0);后Application对象会销毁。