【Android-1】Activity生命周期

一、Activity的四种状态

Running(运行中):表明Activity处于活动状态,用户可以点击屏幕可以作出响应,也是处于Activity栈顶的状态。

Paused(暂停):表明Activity失去焦点的时候,或者被一个非全屏的Activity占据(一个透明的Activity位于栈顶),内存紧张的时候可能被回收。

Stopped(停止):当前Activity完全被覆盖的时候,内存紧张依然被回收。

Killed(被杀死):表明Activity被系统回收了,所保存的信息、成员变量都不存在了。

二、Activity生命周期分析

1. Activity首次打开会执行如下生命周期方法:onCreate()->onStart()->onResume()

  onCreate():生命周期第一个调用的方法,可以做数据加载、图片预加载操作。

  onStart():表明Activity正在被启动,处于用户可见的状态,但是并没有处于前台显示,用户还不能与这个Activity进行交互、进行点击、滑动(已经看见,但无法触摸的状态)

  onResume():表明Activity已经前台可见了,可以与用户交互了、触摸、滑动等操作。

2.点击Home键回到主界面(Activity不可见)执行的方法:onPause()->onStop()

  onPause():表明Activity处于停止状态(可见,但不能触摸)。

  onStop():onPause()方法执行完调用,表明Activity已停止,完全被遮住覆盖(内存紧张,可能被回收)。

3.当再次回到原Activity时,会执行以下方法:onRestart()->onStart()->onResume()

  onRestart():表示正在重新启动,由不可见变为可见。

  onStart():表明Activity正在被启动,处于用户可见的状态,但是并没有处于前台显示,用户还不能与这个Activity进行交互、进行点击、滑动(已经看见,但无法触摸的状态)

  onResume():表明Activity已经前台可见了,可以与用户交互了、触摸、滑动等操作

4.退出当前Activity时,执行以下生命周期方法:onPause()->onStop()->onDestroy()

  onPause():表明Activity处于停止状态(可见,但不能触摸)。

  onStop():onPause()方法执行完调用,表明Activity已停止,完全被遮住覆盖(内存紧张,可能被回收)。

  onDestroy():Activity生命周期最后一个方法,可以做一些资源回收释放工作

posted @ 2018-03-06 21:16  ichapter  阅读(182)  评论(0编辑  收藏  举报