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

 更新时间:2016年01月15日 14:32:29   作者:ifaithu  
这篇文章主要介绍了Android Activity中onStart()和onResume()的区别,结合Activity的四种状态简单分析了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程序设计有所帮助。

相关文章

  • Android自定义控件ViewGroup实现标签云(四)

    Android自定义控件ViewGroup实现标签云(四)

    这篇文章主要为大家详细介绍了Android自定义控件ViewGroup实现标签云的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 详细讲解AsyncTask使用说明(值得收藏)

    详细讲解AsyncTask使用说明(值得收藏)

    AsyncTask就相当于Android给我们提供了一个多线程编程的一个框架,其介于Thread和Handler之间,我们如果要定义一个AsyncTask,就需要定义一个类来继承AsyncTask这个抽象类,并实现其唯一的一doInBackgroud 抽象方法,这篇文章主要介绍了AsyncTask详解,需要的朋友可以参考下
    2024-01-01
  • Flutter使用AnimatedSwitcher实现场景切换动画

    Flutter使用AnimatedSwitcher实现场景切换动画

    在应用中,我们经常会遇到切换组件的场景。本文将利用Flutter中提供的AnimatedSwitcher这一动画组件来实现页面内的场景切换,需要的可参考一下
    2022-03-03
  • 封装flutter状态管理工具示例详解

    封装flutter状态管理工具示例详解

    这篇文章主要为大家介绍了封装flutter状态管理工具示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Android ViewPager小圆点指示器

    Android ViewPager小圆点指示器

    这篇文章主要为大家详细介绍了Android ViewPager小圆点指示器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • android基础教程之开机启动示例

    android基础教程之开机启动示例

    这篇文章主要介绍了android开机启动示例,开机自动启动程序后开机启动广播功能实现,需要的朋友可以参考下
    2014-02-02
  • Android开发:浅谈MVP模式应用与内存泄漏问题解决

    Android开发:浅谈MVP模式应用与内存泄漏问题解决

    本篇文章主要介绍了Android开发:MVP模式应用与内存泄漏问题解决,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • Android自定义实现顶部粘性下拉刷新效果

    Android自定义实现顶部粘性下拉刷新效果

    这篇文章主要为大家详细介绍了Android自定义实现顶部粘性下拉刷新效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Android之利用EventBus发送消息传递示例

    Android之利用EventBus发送消息传递示例

    本篇文章主要介绍了Android之利用EventBus进行消息传递示例。EventBus是一款针对Android优化的发布/订阅事件总线,非常具有实用价值,需要的朋友可以参考下。
    2017-02-02
  • Android自定义下拉刷新上拉加载

    Android自定义下拉刷新上拉加载

    这篇文章主要为大家详细介绍了Android自定义下拉刷新上拉加载的相关资料,需要的朋友可以参考下
    2016-05-05

最新评论