浅析Activity的生命周期

浅析Activity的生命周期

一、 onCreate()

onCreate()表示当前的Activity正在被创建,一般在这个方法中进行活动的初始化工作,如设置布局工作、加载数据、绑定控件等

二、onStart()

onStart()表示当前的Activity正在被启动,经历该回调后,Activity 由不可见变为可见,但此时只是处于后台可见,还不能和用户进行交互

三、onResume()

onResume()表示当前的Activity已经处于前台可见了,即已经可见的 Activity 从后台来到前台,可以和用户进行交互

四、onPause()

onPause()表示当前的Activity正在停止,此时 Activity 不再处于前台,即已经可见的Activity由前台来到后台,无法与用户进行交互,并且紧接着就会调用 onStop() ,此情形常见于用户按HOME键或BACK键或跳转到其他的Activity

五、onStop()

onStop()表示当前的Activity即将停止,此时 Activity 由后台可见变为不可见,在这里可以进行一些稍微重量级的操作

六、onDestroy()

onDestroy()表示当前的Activity即将被销毁,应该将资源的回收和释放工作在该方法中执行

七、 onReStart()

onReStart()表示当前的Activity正在重新启动,紧接着会顺序调用onStart()和onResume(),此情形常见于用户按HOME键后又返回至当前的Activity或用户跳转到其他的Activity后又返回至当前的Activity

八、结果分析

在这里插入图片描述
此图是App运行时调用的三个方法onCreate() —> onStart() —> onResume()
在这里插入图片描述
此图是App运行后,用户按HOME键后调用的方法onPause() —> onStop(),在此种情况下Activity并不会被销毁
在这里插入图片描述
此图是App运行后,用户按HOME键之后再返回至当前Activity调用的方法onRestart() —> onStart() —> onResume()
在这里插入图片描述
此图是App运行后,用户按BACK键调用的方法onPause() —> onStop() —> onDestroy(),在此种情况下Activity将会被销毁
在这里插入图片描述
此图是App运行后,由MainActivity跳转到SecondActivity后调用的方法,由图可知,由当前的MainActivity跳转到SecondActivity会首先调用MainActivity的onPause(),然后紧接着调用SecondActivity的onCreate() —> onStart() —>onResume(),最后调用当前Activity的onStop()
在这里插入图片描述
此图是App运行后,由MainActivity跳转到SecondActivity后,再返回至MainActivity时调用的方法,由图可知,由MainActivity跳转到SecondActivity后,再返回至MainActivity时会率先调用SecondActivity的onPause(),接着调用MainActivity的onRestart() —> onStart() —> onResume() ,最后调用SecondActivity的onStop() —> onDestroy()

九、 结果统计

情况回调
第一次启动onCreate()—>onStart()—>onResume()
从MainActivity跳转到 SecondActivitym_onPause() —> s_onCreate() —> s_onStart() —> s_onResume() —> m_onStop()
再由SecondActivity跳转到 MainActivitys_onPause() —> m_onRestart() —> m_onStart() —> m_onResume() —> s_onStop()
用户按 HOME键onPause() -> onStop()
按 HOME 键后,再次返回到应用onRestart() —> onStart() —> onResume()
用户按 BACK键回退onPause() —> onStop() —> onDestroy()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值