学习android开发这么久对于activity的生命周期还没有仔细思考过,所以,我大致的把这些东西整理一下,希望通过这使自己理解的更透彻点吧!

首先看一下Activity生命周期图和它的的四个阶段

它的的四个阶段

1. 开始Activity:在这个阶段依次执行3个生命周期方法:onCreate()、onStart()和onResume()。
2. Activity失去焦点:如果在Activity获得焦点的情况下进入其他的Activity,这时当前的Activity会失去焦点。在这一阶段,会依次执行onPause()和onStop()方法。
3. Activity重新获得焦点:如果Activity重新获得焦点,会依次执行 3个生命周期方法:onRestart()、onStart()和onResume()。
4. 关闭Activity:当Activity被关闭时系统会依次执行3个生命周期方法:onPause()、onStop()和onDestroy()。

现在通过一个例子来了解它的生命周方法在四个阶段的用法:

七个生命周期方法如下,它们的作用见下面示例方法注释中

protected void onCreate(Bundle savedInstanceState)

protected void onStart()

protected void onResume()

protected void onPause()

protected void onStop()

protected void onRestart()

protected void onDestroy()

示例代码:

package com.liu.activity;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log; public class MyActivity extends Activity {
private static final String lifeTag = "Activity生命周期"; //当Activity第一次被创建时调用,我们可以在这进行初始化操作
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d(lifeTag,"---->oncreate()被执行");
}
//onStart()方法在Activity开始被执行时调用,它紧随onCreate()方法之后调用
protected void onStart() {
super.onStart();
Log.d(lifeTag,"---->onStart()被执行");
} //onResume()方法在Activity即将与用户交互时调用
protected void onResume() {
super.onResume();
Log.d(lifeTag,"---->onResume()被执行");
} //当Activity从stopped状态启动时会调用onRestart(),后面总是调用onStart()方法
protected void onRestart() {
super.onRestart();
Log.d(lifeTag,"---->onRestart()被执行");
} //在一个Activity启动另一个Activity时调用,它通常被用来持久化数据、停止动画或其他耗费资源的动作,
//下一个Activity必须等待这个方法返回后在启动,所以在这里做过多的操作
protected void onPause() {
super.onPause();
Log.d(lifeTag,"---->onPause()被执行");
} //onStop()方法在一个新的Activity启动、其他的Activity切换到前台、当天Activity被销毁时都会被调用
protected void onStop() {
super.onStop();
Log.d(lifeTag,"---->onStop()被执行");
} //Activitybe被销毁时调用
protected void onDestroy() {
super.onDestroy();
Log.d(lifeTag,"---->onDestroy()被执行");
} }

启动程序调用的方法如下:

当按下拨号键使activity失去焦点调用的方法如下:

当按下返回键使Activity获得焦调用的方法如下,:

关闭Avtivity时调用的方法如下:

Android Activity 生命周期详解的更多相关文章

  1. xamarin Android activity生命周期详解

    学Xamarin我为什么要写这样一篇关于Android 的activity生命周期的文章 已经学Xamarin android有一段时间了,现在想起当初Xamarin也走了不少的弯路.当然Xamari ...

  2. Android关于Activity生命周期详解

    子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精 ...

  3. Android之Activity生命周期详解

    Activity的生命周期方法: onCreate()--->onStart()--->onResume()--->onPause()--->onStop()--->on ...

  4. Android Activity生命周期详讲

    管理 Activity 生命周期 通过实现回调方法管理 Activity 的生命周期对开发强大而又灵活的应用至关重要. Activity 的生命周期会直接受到 Activity 与其他 Activit ...

  5. 【转】Activity生命周期详解

    三个循环 提供两个关于Activity的生命周期模型图示帮助理解:                                           图1 图2 从图2所示的Activity生命周期 ...

  6. Android学习笔记:Activity生命周期详解

    进行android的开发,必须深入了解Activity的生命周期.而对这个讲述最权威.最好的莫过于google的开发文档了. 本文的讲述主要是对 http://developer.android.co ...

  7. Android四大组件之---activity生命周期详解

    废话不多说, 先来一张Google提供的一张经典的生命周期流程图: 有的朋友可能看英文的有点费劲,再提供一张中文版的  O(∩_∩)O 相信已经很多人对这张图再熟悉不过了,下面笔者按照自己的理解并结合 ...

  8. Activity生命周期详解

    http://blog.csdn.net/liuhe688/article/details/6733407 onPause 回到 onResume 的过程“在一般的开发中用不上”,但是作为开发者还是有 ...

  9. ASP.NT运行原理和页面生命周期详解及其应用

    ASP.NT运行原理和页面生命周期详解及其应用 1. 下面是我画的一张关于asp.net运行原理和页面生命周期的一张详解图.如果你对具体不太了解,请参照博客园其他帖子.在这里我主要讲解它的实际应用.  ...

随机推荐

  1. 运用Date日期来做日历

    import java.util.*;import java.text.*;class Two {    public static void main(String[] args)     {   ...

  2. vmwear 及docker

    1.安装vmwear,开启cpu虚拟化 2.http://jingyan.baidu.com/article/eae0782787b4c01fec548535.html 3.docker

  3. python学习之元组

    #coding:utf-8# __author__ = 'Administrator'#元组:不可变序列 #空元组mm=()print mm#只有一个值的元组mm=(1,)print mmx=1,2, ...

  4. Quartz 多个触发器

    http://www.oschina.net/code/snippet_114990_4440 最近项目中要做个定时生成静态html文件东东,7点到19点每5分钟生成一次,其他时间1小时生成一次,刚开 ...

  5. Wbemtest查询

    运行wbemtest,打开后连接命名空间,默认为“root\cimv2”,可以连接到”IIS管理命名空间(此为Windows Server 2008 R2)“ 查看该命名空间下所有可用的类:单击“枚举 ...

  6. 深入浅出Android动态载入jar包技术

    在实际项目中.因为某些业务频繁变更而导致频繁升级client的弊病会造成较差的用户体验,而这也恰是Web App的优势,于是便衍生了一种思路.将核心的易于变更的业务封装在jar包里然后通过网络下载下来 ...

  7. android照片墙的实现

    转载自 http://blog.csdn.net/guolin_blog/article/details/9526203 由于每个android应用程序都有内存限制,所以如果加载很多图片的话,一定会出 ...

  8. android访问asset目录下的资源

    android提供了AssetManager来访问asset目录下的资源, 在activity中通过getAssets()获取AssetManager 常用的api如下: 1.列举路径下的资源Stri ...

  9. velocity-字母序号 list

    版权声明:本文为博主原创文章,未经博主允许不得转载. [需求] 遍历一个list,同时需要在每个item前面显示字母序号,例如A,B,C,D [代码] #set($zimu = ["A&qu ...

  10. DTrace patch for Python 2.7.x and 3.x

    DTrace patch for Python 2.7.x and 3.x Última Actualización: 21 de septiembre de 2015 https://www.jce ...