Android学习笔记之 Activity生命周期

Android学习笔记之 Activity生命周期

  • 根据Android API知,所有的Activity 在系统中通过Activity栈进行管理,当一个新的Activity被启动时,它就被放在栈的顶部并且成为运行中的Activity,原来显示的Activity就被长久的保留在它下面,并且直到这个新的Activity退出的时候原来的Activity才会重新回到前台。
  • 官方给的Activity生命周期的流程图如下:
    Activity生命周期

通过代码来查看Activity生命周期中方法的调用顺序

  • 新建一个项目叫做ActivityLifeCycle
    新建项目
  • 在MainActivity中重写父类的方法,在其中打印Log
package com.samplecode.activitylifecycle;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {
    private static String TAG="MainActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.i(TAG,"onCreate()");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.i(TAG,"onStart()");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.i(TAG,"onResume()");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.i(TAG,"onPause()");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.i(TAG,"onStop()");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.i(TAG,"onDestroy()");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.i(TAG,"onRestart()");
    }
}
  • 运行程序,启动MainActivity,查看打印Log

    说明一个新的Activity启动时调用方法的顺序为onCreate()->onStart()->onResume()
  • 点击返回键,退出当前程序,查看打印Log

    说明当前程序退出,正在显示的Activity退出,调用方法的顺序是onPause()->onStop()->onDestroy()
  • 新建一个Activity,通过MainActivity启动,查看打印MainActivity中打印的Log

    说明当前Activity被新的Activity覆盖之后调用方法的顺序是onPause()->onStop()
  • 点击返回键,返回MainActivity,查看打印Log

    说明被新的Activity覆盖的旧Activity重新回到前台时调用方法的顺序是onRestart()->onStart()->onResume()
  • 从SecondActivity启动,到退回MainActivity,查看打印Log

    表明一个Activity正常的启动到退出的过程调用方法的顺序是onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()
  • 当按下Home键,MainActivity被压入后台,查看打印Log
  • 将后台的程序启动,查看打印Log

    通过打印的Log可知按Home键被压入后台再启动,与被新的Activity覆盖再回到前台的效果是一样的

资源下载地址:http://download.csdn.net/detail/thethin/9560484

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值