一:activity的四种状态

1:running 表明activity处于活动状态 用户可以点击屏幕,屏幕可以做出响应,它是处于activity的一个栈顶状态

2:paused 表明activity失去焦点的时候,或者被一个透明的activity放置在栈顶的时候,这时activity失去了和用户交互的能力(但并不是说整个activity被销毁 ,状态信息和成员变量还在)。内存紧张的时候这时activity会被回收。

3: stopped 一个actviity被另外一个activity完全覆盖的时候。被覆盖的activity会处于stopped状态,这时候它不再是可见的

4:killed  表明activity已经被泄露回收了,它所保存的信息和成员变量已经不存在了

 

二:activity生命周期

1;Activity启动时执行 onCreate()->onStart()->onResume()三个生命周期方法

 

onCreate()方法是Activity被创建的时候被回调。

onStart()方法表明Activity正在启动,Activity正处于用户可见的状态,但并没有处于前台显示的状态,这时候用户并不能和这个用户进行交互,点击滑动等操作。 简而言之:处于看见而无法触摸的状态。

onResume()方法被调用表明Activity在前台是可见的,并且可以和用户交互的;

onResume()方法中可以初始化一些资源。

 

2;点击Home键回到主界面(Activity不可见)-->onPause()-->onStop();

 

onPause()方法被调用的时候,表明整个Activity处于停止的状态,可见但不能触摸的状态。

它对应的是 onResume() 方法,当用户让当前的activity退居到后台,onPause()方法就会被调用。

 

onStop()方法表明整个Activity被停止或者被覆盖。内存紧张的时候,整个Activity会被回收掉

 

3:再次回到原Activty时候--》onRestart()-->onStart()-->onResume()

onRestart()方法表示Activity正在重新启动,Activity由不可见状态转为可见状态会调用此方法

(一般是用户打开一个新的Activity,当前的Activity会被暂停,当再次回到当前Activity时)会调用此方法

场景:从桌面回到当前activty时。

 

4:退出当前Activity时 ->onPause()-onStop()->onDestroy()

onDestroy()方法表明当前Acitivity正在被销毁。 在此生命周期时,做回收工作和资源的释放。

 

Total:Activity启动时,它会 onCreate()->onStart()->onResume()三个生命周期方法

          Activity退居后台时,即点击Home键回到主界面,或者被新的Activity完全替代的时候,它会走onPause()-onStop()方法

          Activity重新回到前台时,(从桌面点击图标回到APP),它会走onRestart()-->onStart()-->onResume()方法

          Activity退出销毁时,它会走->onPause()-onStop()->onDestroy()方法。