Activity有三种状态:
1.当Activity处于屏幕的最前端时属于
运行状态
2.当Activity被其他Activity半覆盖(比如弹出对话框)但是对用户仍然可见(只是失去焦点)时处于
暂停状态 3.当Activity被其他Activity完全覆盖时处于
停止状态
当Activity从一个状态到另外一个状态转变时就会调用相应的方法,包括 onCreate(),onStart(),onRestart(),onResume(),onPause(),onStop(),onDestory()七种方法
Activity的
完整生命周期从onCreate()开始到onDestory()结束,一般Activity会在onCreate()方法中申请资源,进行一系列的初始化操作,而在onDestory()中销毁这些资源,比如线程的创建与销毁
Activity的
可视生命周期从onStart()到onStop(),再次期间用户可以看见该Activity,尽管它并不是在前台或者并未与用户进行交互,调用onStop()之后Activity处于停止状态,要想恢复到运行状态必须依次调用onRestart(),onStart(),onResume()
Activity的
前台生命周期从onResume()到onPause()结束,在此期间用户可以看到该Activity并且与该Activity进行交互,Activity经常会在暂停与恢复期间与用户进行交互,比如当设备休眠时或者有新的Activity启动时会调用onPause()方法,当Activity获得结果或者接收到新的Intent时会调用onResume()方法
另外Activity还有onSaveInstanceState()方法和onRestoreInstanceState()方法,他们并不是Activity生命周期方法,而是出现一些意外情况时触发,比如内存不足,用户直接按home键时会调用onSaveInstanceState()方法,而当用户主动去销毁,比如按返回键时不会触发,典型的例子就是当用户屏幕发生变化时Activity的销毁与创建
由以上论述便可知,Android应用程序一般不设置退出键就是因为用户按返回键时系统已经销毁Activity了