欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Activity生命周期

程序员文章站 2022-05-14 08:03:52
...

一、生命周期

  • 1.onCreate

Activity创建,

  • onStart

Activity正在启动,Activity已经可见,只是在后台,还无法交互。

  • onResume

Activity开始,已经显示,在前台,可以交互

  • onPause

Activity暂停,太耗时的操作,否则会影响启动Activity的速度

  • onStop

Activity停止,在onPause之后执行

  • onDestroy

Activity销毁

  • onNewIntent

该函数在Activity启动模式为singleTop,singleTask,singleInstance时再次启动时会调用该函数。

Activity生命周期

MainActivity启动SecondActivity生命周期执行顺序如下:

[MainActivity]: onCreate
[MainActivity]: onStart
[MainActivity]: onResume
[MainActivity]: onPause
[SecondActivity]: onCreate
[SecondActivity]onStart
[SecondActivity]onResume
[MainActivity]: onStop

可以发现,MainActivity启动SecondActivity,先执行MainActivity.onPause到后台,然后执行SecondActivity的onCreate、onStart、onResume显示到界面后再执行MainActivity.onStop停止MainActivity。所以在onPause函数中不能做太耗时的操作,否则会影响启动Activity的速度。

二 Activity启动模式

  • 1.standard

标准模式

  • 2.singleTop

栈顶复用,栈内没有会创建一个新的Activity;如果不再栈顶就会创建一个新的Activity;如果在栈顶会复用该Activity,且会走onNewIntent函数

  • 3.singleTask

栈内复用,栈内没有会创建一个新的Activity;如果已有该Activity且不再栈顶就会把该Activity栈以上的Activity弹出,执行onNewIntent函数;如果在栈顶会复用该Activity,执行onNewIntent函数

  • 4.singleInstance

栈内单例,singleTask升级版,Activity只能单独的位于一个任务栈内。

相关标签: android基础