欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2024-02-16 23:40:22
本文分析了android activity中onstart()和onresume()的区别。分享给大家供大家参考,具体如下: 首先你要知道activity的四种状态:...

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