Android Activity的生命周期详细介绍

Android Activity的生命周期详细介绍

生命周期描述的是一个类从创建(new出来)到死亡(垃圾回收)的过程中会执行的方法。在这个过程中,会针对不同的生命阶段调用不同的的方法。

Activity是Android中四大组件之一,是最常见的应用组件,也是用的最多的组件,它能够提供一个界面与用户进行交互。Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:onCreate  onDestory  onStart  onStop  onResume  onPause。这些方法都是两两对应的,onCreate-->创建与onDestory-->销毁;onStart-->可见与onStop-->不可见;onResume-->可编辑(焦点)和onPause-->未获得焦点。最后还有一个方法是onRestart,这个方法在什么时候调用呢?当Activity被onStop后,但是并没有onDestory,即并没有被销毁时,用户重新回到当前Activity时,就调用onRestart方法,这里就不再是调用onCreate方法了。

public class MainActivity extends ActionBarActivity { private final static String TAG = "MainActivity"; @Override // Activity被创建时调用 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.e(TAG, "onCreate......."); } @Override // 该状态用户可见,但是用户还不能与之进行交互 protected void onStart() { super.onStart(); Log.e(TAG, "onStart......."); } @Override // 该状态是Activity获得用户焦点,用户可以与之进行交互 protected void onResume() { super.onResume(); Log.e(TAG, "onResume......."); } @Override //与onResume对应,当Activity失去焦点时调用 protected void onPause() { super.onPause(); Log.e(TAG, "onPause......."); } @Override //与onStart对应,当Activity不可见时调用 protected void onStop() { super.onStop(); Log.e(TAG, "onStop......."); } @Override //与onCreate对应,当Activity被销毁时调用 protected void onDestroy() { super.onDestroy(); Log.e(TAG, "onDestroy......."); } @Override //Activity从后台重新回到前台调用 protected void onRestart() { super.onRestart(); Log.e(TAG, "onRestart......."); } }

Activity的完整生命周期:oncreate-->onstart-->onresume-->onpause-->onstop-->ondestory。用户在点击返回键的时候,Activity会销毁,这时Activity先是不可编辑,再是不可见,最后被销毁。而当用户点击home键的时候,即表示退回到桌面,这时的Activity并不会被销毁,所以这里现实不可编辑,再是不可见,这时并不会调用onDestory方法被销毁,此时再点击进入该应用,会调用onRestart方法,不再是调用Activity,然后再是调用onStart,onResume。

下面是Activity的生命周期图:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-09-11 03:21:01

Android Activity的生命周期详细介绍的相关文章

新书内容连载(2):Android Activity的生命周期

本文为原创,如需转载,请注明作者和出处,谢谢! 本文为新书<Android/OPhone开发完全讲义>的内容连载.<Android/OPhone开发完全讲义>一书将在近期出版,敬请关注. 上一篇:新 书内容连载(1):自定义Android组件之带图像的TextView 在Activity从建立到销毁的过程中需要在 不同的阶段调用7个 生命周期方法.这7个 生命周期方法的定义如下: protected void onCreate(Bundle savedInstanceState)p

Android——Activity的生命周期

   一,Demo测试Activity的生命周期       写两个Activity:   package com.example.activity_04; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickL

Android Service类与生命周期详细介绍

Android  Service类与生命周期 Service是Android四大组件与Activity最相似的组件,都代表可执行的程序,区别在于Service一直在后台运行且没有用户界面. 1.Service的类图和生命周期 先来看看Service的类图: 接下来看看Service的生命周期: 2.开发Service (1)开发Service需要两步: 第1步:定义子类,继承Service 第2步:在AndroidManifest.xml文件中配置Service (2)创建Service pub

Docker Runc容器生命周期详细介绍_docker

Docker Runc容器生命周期 容器的生命周期涉及到内部的程序实现和面向用户的命令行界面,runc内部容器状态转换操作.runc命令的参数定义的操作.docker client定义的容器操作是不同的,比如对于docker client的create来说, 语义和runc就完全不同,这一篇文章分析runc的容器生命周期的抽象.内部实现以及状态转换图.理解了runc的容器状态转换再对比理解docker client提供的容器操作命令的语义会更容易些. 容器生命周期相关接口 最基本的require

Java 线程的生命周期详细介绍及实例代码_java

当线程被创建并启动之后,它既不是一启动就进入执行状态,也不是一直处于执行状态,在其生命周期中,要经过"新建(New)"."就绪(Runnable)"."运行(Running')"."阻塞(Blocked)"和"死亡(Dead)"五种状态.线程在创建之后,不可能一直霸占着CPU独立运行,需要在多个线程之间切换,所以大部分时间处于运行.阻塞之间切换.  一.线程的状态 线程的存在有几种不同的状态,如下: New

Spring Bean的生命周期详细介绍_java

Spring作为当前Java最流行.最强大的轻量级框架,受到了程序员的热烈欢迎.准确的了解Spring Bean的生命周期是非常必要的.我们通常使用ApplicationContext作为Spring容器.这里,我们讲的也是 ApplicationContext中Bean的生命周期.而实际上BeanFactory也是差不多的,只不过处理器需要手动注册. 一.生命周期流程图: Spring Bean的完整生命周期从创建Spring容器开始,直到最终Spring容器销毁Bean,这其中包含了一系列关

Android开发之activity的生命周期详解_Android

本文实例讲述了Android activity的生命周期.分享给大家供大家参考,具体如下: activity类处于android.app包中,继承体系如下: 1.Java.lang.Object 2.android.content.Context 3.android.app.ApplicationContext 4.android.app.Activity activity是单独的,用于处理用户操作.几乎所有的activity都要和用户打交道,所以activity类创建了一个窗口,开发人员可以通

Android开发之activity的生命周期详解

本文实例讲述了Android activity的生命周期.分享给大家供大家参考,具体如下: activity类处于android.app包中,继承体系如下: 1.Java.lang.Object 2.android.content.Context 3.android.app.ApplicationContext 4.android.app.Activity activity是单独的,用于处理用户操作.几乎所有的activity都要和用户打交道,所以activity类创建了一个窗口,开发人员可以通

Android开发中Activity的生命周期及加载模式详解

本文给大家介绍Activity的生命周期,如果大家学习过iOS的小伙伴的话,Activity的生命周期和iOS中ViewController的生命周期非常类似.生命周期,并不难理解.一个人的生命周期莫过于生老病死,花儿的生命周期就是花开花谢了.在Android中Activity的生命周期莫过于Activity的创建到消亡的过程了.本篇博客就会介绍Activity生命周期中的不同阶段,通过实例的形式来窥探一下Activity的生命周期.搞明白Activity的生命周期是至关重要的,因为只有搞明白每