文章类型: ANDROID
关键词: Android,Activity,生命周期,onStart(),onResume(),区别
内容摘要: Android Activity 生命周期中onStart()和onResume()的区别

Android Activity 生命周期中onStart()和onResume()的区别

2017/12/21 14:17:27    来源:apple    阅读:

首先了解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()。

111111111111111.png

引申:经测试,onPause()方法在弹出Dialog时不会被调用,而在被另一个透明或者Dialog样式的Activity覆盖时才会被调用。


参考:Activity的生命周期之Pause(暂停)和Resume(重新返回)


附Activity生命周期

22222222222222222222.png

↑ 上一篇文章:软件开发中手机验证码接收不到的问题调查研究 关键词:软件,开发,手机,验证码,接收不到,问题,调查研究,验证.. 发布日期:2017/12/21 11:20:30
↓ 下一篇文章:android Activity的onPause()与onResume() 关键词:android,Activity,onPause(),o.. 发布日期:2017/12/21 14:20:33
相关文章:
android Activity的onPause()与onResume() 关键词:android,Activity,onPause(),onResume() 发布日期:2017-12-21 14:20
Toast 在activity关闭后,还在显示的问题解决 关键词:Toast,在activity关闭后,还在显示的问题解决,android 发布日期:2017-06-29 11:25
Android 单个Activity后台运行,及Activity隐藏但是不调用OnDestory步骤 关键词:Android,单个Activity后台运行,及Activity隐藏但是不调用OnDestory步骤 发布日期:2017-03-22 15:13
相关目录:.NETANDROID
我要评论
正在加载评论信息......