Android Activity 生命周期

 Java Code 
1
2
3
4
5
Activity生命周期,执行流程:

onResume是在启动activity启动之后才能执行的,也就是恢复执行。
程序正常启动: onCreate()->onStart()->onResume();
正常退出: onPause()->onStop()->onDestory()
一个Activity启动另一个Activity:  onPause()->onStop(),  再返回: onRestart()->onStart()->onResume()
程序按back 退出:  onPause()->onStop()->onDestory(),  再进入 :onCreate()->onStart()->onResume();
程序按home 退出:  onPause()->onStop(),  再进入: onRestart()->onStart()->onResume();

 Java Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
首先了解Activity的四种状态

Running状态: 一个新的Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
Paused状态: 当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,它仍然可见,但它已经失去了焦点,故不可与用户交互。
Stopped状态: 当Activity不可见时,Activity处于Stopped状态。当Activity处于此状态时,一定要保存当前数据和当前的UI状态,否则一旦Activity退出或关闭时,当前的数据和UI状态就丢失了。
Killed状态: Activity被杀掉以后或者被启动以前,处于Killed状态。这是Activity已从Activity堆栈中移除,需要重新启动才可以显示和使用。
*********************************************************************
4种状态中,Running状态和Paused状态是可见的,Stopped状态和Killed状态时不可见的。
**********************************************************************

onStart()和onResume()的区别

onStart() 是activity界面被显示出来的时候执行的,用户可见,包括有一个activity在他上面,但没有将它完全覆盖,用户可以看到部分activity但不能与它交互
onResume() 是当该activity与用户能进行交互时被执行,用户可以获得activity的焦点,能够与用户交互。
onStart()通常就是onStop() (也就是用户按下了home键,activity变为后台后),之后用户再切换回这个activity就会调用onRestart()而后调用onStart()
onResume()是onPause() (通常是当前的acitivty被暂停了,比如被另一个透明或者Dialog样式的Activity覆盖了),之后dialog取消,activity回到可交互状态,调用onResume()。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值