Activity生命周期

来源:互联网 发布:广告录音软件 编辑:程序博客网 时间:2024/06/05 02:15

Activity生命周期

流程图

google官方Activity生命周期流程图

Activity生命周期的4个状态:

  • 运行状态(Running):当它在屏幕前台时(位于当前任务推栈的顶部),此时它处于可见并可和用户交互的激活状态,叫做活动状态或者运行状态(Running)
  • 暂停状态(Paused):当Activity被另一个透明Activity或Dialog样式的Activity覆盖,此时状态叫暂停状态(Paused)。
    • 它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
  • 停止状态(Stopped):如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。
    • 它依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其它地方的时候,Stopped的Activity将被强行终止掉。
  • 断开状态(Killed):Activity被系统杀死回收或者没有被启动时处于断开状态(Killed)。
    • 如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。

Activity生命周期的7个方法:

void onCreate();    Activity被创建时执行void onStart();     Activity可见时执行void onResume();    Activity可交互时执行void onRestart();   Activity重新可见时执行void onPause();     Activity被暂停时执行void onStop();      Activity被停止时执行void onDestroy();   Activity被销毁时执行

Activity状态改变时,所执行的方法

断开状态Killed–>运行状态Running:

MainActivity-->onCreate()MainActivity-->onStart()MainActivity-->onResume()

运行状态Running–>暂停状态Paused:

MainActivity-->onPause()DialogActivity-->onCreate()DialogActivity-->onStart()DialogActivity-->onResume()

暂停状态Paused–>运行状态Running:

DialogActivity-->onPause()MainActivity-->onResume()DialogActivity-->onStop()DialogActivity-->onDestroy()

运行状态Running–>停止状态Stopped:

MainActivity-->onPause()NormalActivity-->onCreate()NormalActivity-->onStart()NormalActivity-->onResume()MainActivity-->onStop()

停止状态Stopped–>运行状态Running:

NormalActivity-->onPause()MainActivity-->onRestart()MainActivity-->onStart()MainActivity-->onResume()NormalActivity-->onStop()NormalActivity-->onDestroy()

运行状态Running–>断开状态(Killed):

MainActivity-->onPause()MainActivity-->onStop()MainActivity-->onDestroy()

备注:保存一个Activity的状态信息应定在onPause()方法中

0 0
原创粉丝点击