Android Activity中onStart()和onResume()的区别分析
本文分析了android activity中onstart()和onresume()的区别。分享给大家供大家参考,具体如下:
首先你要知道activity的四种状态:
① active/runing 一个新 activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
② paused 当 activity 被另一个透明或者 dialog 样式的 activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
③ oped 当 activity 被另外一个 activity 覆盖、失去焦点并不可见时处于 stoped 状态。
④ killed activity 被系统杀死回收或者没有被启动时处于 killed 状态。
分析:
protected void onstart() 该方法在 oncreate() 方法之后被调用,或者在 activity 从 stop 状态转换为 active 状态时被调用,一般执行了onstart()后就执行onresume()。
protected void onresume() 在 activity 从 pause 状态转换到 active 状态时被调用。
onresume是activity获得用户焦点,在与用户交互
onstart是activity用户可见,包括有一个activity在他上面,但没有将它完全覆盖,用户可以看到部分activity但不能与它交互。
补充:android activity中的六个主要函数
android中一个activity一般都需要实现六个函数:
oncreate(), onstart(), onresume(),onpause(),onstop(),ondestroy().
1. oncreate函数:注册你要用到的变量,比如说service,receiver,这些变量是无论你的activity是在前台还是在后台都能够被响应到的,然后调用上面那个用来初始化的函数初始化布局信息。
2. onstart函数:注册一些变量。这些变量必须在android activity类在前台的时候才能够被响应。
3. onresume函数:调用一些刷新ui的函数,每当activity调用到这里时就要刷新一下ui各控件的状态。
4. onpause函数:一般是做一些变量的设置,因为这个时候activity马上就要切到后台处理,可能有些变量就要被释放掉或者状态要做些相应的调整。
5. onstop函数:反注册在onstart函数中注册的变量。
6. ondestory函数:反注册在oncreate函数中注册的变量。
在android-hello中,
public class ubilrnactivity extends activity { /** called when the activity is first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } }
首先,声明了一个oncreate函数,这个函数的传入参数是savedinstancestate.型别是bundle,bundle是一个数据参数,一般用于activity之间的数据传送。oncreate()的参数都是bundle类的。
super.oncreate表示的是调用父类oncreate。
setcontentview(r.layout.main)表示的是通过加载main.xml来加载系统的resource.
更多关于android activity相关内容感兴趣的读者可查看本站专题:《android编程之activity操作技巧总结》
希望本文所述对大家android程序设计有所帮助。