当前位置: 移动技术网 > IT编程>移动开发>Android > Android Activity中onStart()和onResume()的区别分析

Android Activity中onStart()和onResume()的区别分析

2019年07月24日  | 移动技术网IT编程  | 我要评论

沧州房产网,绝世女特工狼妃,izzue代理

本文分析了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网