`
meohao
  • 浏览: 97819 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

写在20110723:Activity、Service生命周期

 
阅读更多
1.Activity的生命周期
   首先是onCreate()函数,顾名思义这个函数在Activity开始创建时调用,可以在其中定义一些初始化操作。接下来是onStart()方法,这个方法在Activity开始被执行时调用,它紧随onCreate()方法之后调用,接着是onResume()方法,这个方法是在该Activity或得用户输入焦点时被调用,这个或得用户输入焦点有点不好理解,如果我们用过Android手机或者其他系统的手机时,经常会看到有些窗口虽然能看到但无法对他进行操作,这时的Activity就没有或得用户焦点。当这个方法调用后Activity开始真正的运行了,在Activity正在运行时用户激活了另一个Activity,这时将调用第一个Activity的onPause()方法,可以理解为第一个Activity被暂停了,这个时候如果系统的内存不够用(手机内存不够用的情况经常发生),第一个Activity的进程可能被杀死(何时被杀死是由系统决定的,不需要我们参入),当下次我们再运行第一个Activity时就需要重新创建这个Activity,那就又需要调用onCreate()方法。如果在这个Activity没有被杀死的情况下,我们重新调用第一个Activity,就会直接调用它的onResume()方法后开始运行。如果第一个Activity很久都没有得到再次运行机会,就会调用onStop()被停止,这时如果Activity又或得用户输入焦点,就会调用onRestart()方法,重新开始执行这个Activity,或者被系统杀死,否则调用onDestroy()方法销毁Activity。
2.Service的生命周期
    使用context.startService() 启动Service其生命周期为context.startService() ->onCreate()- >onStart()->Service running-->context.stopService() | ->onDestroy() ->Service stop 如果Service还没有运行,则android先调用onCreate()然后调用onStart();如果Service已经运行,则只调用onStart(),所以一个Service的onStart方法可能会重复调用多次。 stopService的时候直接onDestroy,如果是调用者自己直接退出而没有调用stopService的话,Service会一直在后台运行。该Service的调用者再启动起来后可以通过stopService关闭Service。所以调用startService的生命周期为:onCreate --> onStart(可多次调用) --> onDestroy对于bindService()启动Service会经历:context.bindService()->onCreate()->onBind()->Service running-->onUnbind() -> onDestroy() ->Service stoponBind将返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到Service运行的状态或其他操作。这个时候把调用者(Context,例如Activity)会和Service绑定在一起,Context退出了,Srevice就会调用onUnbind->onDestroy相应退出。 所以调用bindService的生命周期为:onCreate --> onBind(只一次,不可多次绑定) --> onUnbind --> onDestory。一但销毁activity它就结束,如果按home把它放到后台,那他就不退出。
分享到:
评论

相关推荐

    Activity和Service生命周期及使用AIDL通信实例备份

    本篇将深入探讨Activity和Service的生命周期以及如何利用Android Interface Definition Language (AIDL)进行进程间通信。 Activity是Android应用程序的用户界面,它负责与用户交互。Activity的生命周期分为几个关键...

    android Activity生命周期

    通过阅读`ActivityManagerService`和`ActivityThread`类的源码,我们可以了解系统如何管理Activity的生命周期。例如,`ActivityThread`中的`handleLaunchActivity()`方法触发了`onCreate()`,`handleResumeActivity...

    Activity的生命周期(LifeCycle)

    ### Activity的生命周期(LifeCycle) #### 一、Activity在Android中的地位 在Android开发中,Activity作为四大组件之首,其重要性不言而喻。四大组件包括:Activity(负责界面控制)、Service(用于维持一个进程...

    Android Activity生命周期

    此外,Activity 生命周期还与其他组件的生命周期相关,例如 Fragment、Service 等。理解 Activity 生命周期是 Android 开发的基础,掌握了 Activity 生命周期,可以更好地开发 Android 应用程序。 在实际开发中,...

    Activity生命周期及Intent传值

    了解并熟练掌握Activity的生命周期和Intent的传值,能帮助开发者更好地控制界面交互,确保应用在不同场景下的表现稳定,并有效利用系统资源。同时,合理利用Intent传值能提高代码的灵活性和可维护性。在实际开发中,...

    Android Activity 生命周期(lifecycle)的研究

    在Android应用开发中,Activity是用户界面的基本单元,它的生命周期管理是开发者必须深入理解的关键概念。本文将详细探讨Android Activity的生命周期,以及如何通过源码分析和使用工具进行深入研究。 Activity的...

    android activity 生命周期

    在Android开发中,Activity是构建用户界面的基本单元,它的生命周期是开发者必须深入理解的关键概念。在Android应用程序中,Activity扮演着展示用户交互界面并处理用户输入的角色。它并不直接提供界面,而是作为UI...

    android_Activity生命周期

    Activity生命周期是Android开发中至关重要的一环,因为它决定了应用如何响应用户操作和系统事件。理解Activity的生命周期对于编写高效、稳定且用户体验良好的应用至关重要。 Activity的生命周期由多个关键状态组成...

    Android说明Service生命周期的代码例子

    以下是一个关于Service生命周期的详细解析,结合代码示例来阐述如何在Android中操作Service。 1. **Service生命周期概述** Service的生命周期主要包含以下几个阶段:onCreate()、onStartCommand()、onBind()、...

    android Activity生命周期详解(图文)

    不同的启动模式会影响Activity在任务栈中的位置,从而影响其生命周期行为。例如,SingleTop模式下,如果新启动的Activity已经在栈顶,系统不会创建新的实例,而是调用`onNewIntent()`。 总之,深入理解Activity生命...

    Activity的生命周期

    在本文中,我们将深入探讨Activity的生命周期及其各个状态,以及如何在实践中有效地管理它们。 首先,Activity的生命周期包括以下几个主要阶段: 1. **创建(Creation)**: - **onCreate()**: 当Activity首次...

    android启动以及activity生命周期分析

    在Android开发过程中,理解应用程序如何启动及Activity的生命周期是非常重要的。这不仅有助于我们更好地管理程序的状态,还能帮助我们在遇到内存泄漏等问题时进行快速定位和解决。 #### ActivityThread `...

    Activity和Service

    6. **创建APIDEMOS项目**:开发者可以创建一个名为APIDEMOS的项目,通过实践来深入了解Activity和Service的生命周期以及它们的使用方法。 总结来说,Activity和Service是Android应用程序的核心组成部分,理解它们的...

    Android课程第一次实验报告_Andorid应用程序Activity生命周期.docx

    为了优化性能和用户体验,开发者必须熟练掌握Activity、Service和Intent Receiver的生命周期回调方法,确保在适当的时间执行必要的操作。例如,Activity在暂停时应该保存状态,Service在启动后应尽快完成任务或进入...

    Android Service生命周期及用法!

    `onDestroy()`则在Service被停止时调用,标志着Service生命周期的结束。值得注意的是,Service的生命周期管理需要谨慎处理,以避免内存泄漏和不必要的资源消耗。 Service与Activity之间的通信是通过Binder机制实现...

    Android Activity生命周期Demo源码.rar

    在Activity的生命周期中,Intent常用来启动其他Activity或Service。通过`startActivity()`或`startActivityForResult()`可以启动新的Activity,并在`onActivityResult()`中处理返回结果。 了解并熟练掌握Activity...

    activity生命周期

    理解Activity的生命周期对于开发高效、稳定的应用至关重要。在Android系统中,Activity有多种状态,每个状态对应不同的行为和资源管理策略。以下是对Activity生命周期的详细解释: 1. **创建(Creation)** - **...

    android activity 生命周期的深入学习

    Activity生命周期与Service(后台服务)相结合,可以在Service中执行长时间运行的任务,同时保持与Activity的交互。例如,使用`bindService()`可以在Activity与Service之间建立连接,实现通信。 七、生命周期回调的...

    Activity生命周期demon

    在这个"Activity生命周期demon"中,我们将深入探讨Activity在不同状态下的行为及其转换。 1. **Activity生命周期的阶段** - **创建(Created)**:当Activity首次被创建时,会调用`onCreate()`方法。在这个阶段,...

    Android实例三:学习Service

    本实例将深入探讨如何在Android应用中使用Service,包括Service的基本概念、生命周期、启动方式以及与Activity的交互。 Service的基本概念: Service是Android系统中的一个组件,用于在后台执行任务,例如播放音乐...

Global site tag (gtag.js) - Google Analytics