Android Activity生命周期及详解

说到Android ,想必大家都会想到activity,而activity中,有涉及到生命周期等一系列问题,面试中问道最多的也是activity的生命周期,咱们下面简单说一下这些

首先先说一下activity在生命周期的过程中会遇到什么情况

Activity生命周期
Activity启动:onCreate() onStart() onResume()
点Home返回桌面:onPause() onStop() 注意:onPause执行完成才会跳转
再次回到Activity:onRestart() onStart() onResume()
退出当前Activity:onPause() onStop() onDestory()
注意:
① MainActivity 启动 SecondActivity 过程中,生命周期的变化

Main.onCreate()---->Main.onStart()---->Main.onResume()-----“点击按钮,开启一个新的Activity”------>Main.onPause()---------> Second.onCreate()----> Second.onStart()----> Second.onResume()---->Main.onStop()-------“到此,MainActivity 启动 SecondActivity 过程中就执行完毕”

② 点击Back按钮 回到前一个Activity时,SecondActivity 返回 MainActivity 过程中,生命周期的变化

“点击Back按钮”--------->Second.onPause()---->Main.onReStart()---->Main.onStart()---->Main.onResume()---->Second.onStop()---->Second.onDestory()

在Activity中进程优先级

前台>可见>服务>后台>空

它的四种状态分别是

running / paused / stopped / killed

Activity的启动模式分别是

Standard(标准模式) 每一次创建Activity都会创建一个新的Activity默认模式,邮件、mainfest中没有配置就默认标准模式
SingleTop(栈顶复用模式) 当创建的Activity在栈顶时复用此Activity

使用场景 登录页面、WXPayEntryActivity、WXEntryActivity 、推送通知栏
SingleTask(栈内复用模式) 当创建的Activity在此任务栈时复用此Activity且此Activity之上的Activity出栈
使用场景 程序模块逻辑入口:主页面(Fragment的containerActivity)、WebView页面、扫一扫页面、电商中:购物界面,确认订单界面,付款界面
SingleInstance(独享栈模式) 创建的Activity会在一个新栈中创建 使用场景:A启动了B,此时A定时任务启动了C,C为独享栈模式,则当C销毁时会返回B而不是A
使用场景 系统Launcher、锁屏键、来电显示等系统应用

欢迎大家多多关注
Android Activity生命周期及详解_第1张图片

你可能感兴趣的:(Android)