Android 学习记录3 -Activity 的生命周期

深入理解Android Activity生命周期与回调方法
本文详细解析了Android Activity的生命周期,包括四种状态及其回调方法,并通过代码实例展示了如何在不同状态间进行操作。重点阐述了Activity的生命周期管理,帮助开发者更好地理解和掌握Android应用的开发流程。

学习记录3

Activity的生命周期

有四个状态:

1.      活动状态:当前Activity位于前台,用户可见,可以获得焦点

2.      暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点。

3.      停止状态:该Activity不可见,失去焦点。

4.      销毁状态:该Activity结束,或Activity所在的Dalvik进程被结束。

 

3-1 Activity生命周期以及回调方法

 

从图3-1所示,在Activity的生命周期中,有如下方法:

onCreate():创建Activity时被回调。

onStart():启动Activity时被回调。

onRestart():重新启动Activity时被回调。

onResume():恢复Activity时被回调。

onPause():暂停Activity时被回调。

onStop():停止Activity时被回调。

onDestroy:销毁Activity时被回调。

 

Lifecycle项目的主要代码:

 

LifecycleActivity.java源码:

package com.Lifecycle; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; /** * Description: * <br/>site: <a href="http://www.crazyit.org">crazyit.org</a> * <br/>Copyright (C), 2001-2012, Yeeku.H.Lee * <br/>This program is protected by copyright laws. * <br/>Program Name: * <br/>Date: * @author Yeeku.H.Lee kongyeeku@163.com * @version 1.0 */ public class LifecycleActivity extends Activity { final String TAG = "--CrazyIt--"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //输出日志 Log.d(TAG , "-------onCreate------"); Button bn = (Button)findViewById(R.id.bn); //为bn按钮绑定事件监听器 bn.setOnClickListener(new OnClickListener() { public void onClick(View source) { //结束该Activity LifecycleActivity.this.finish(); } }); } @Override public void onStart() { super.onStart(); //输出日志 Log.d(TAG , "-------onStart------"); } @Override public void onRestart() { super.onRestart(); //输出日志 Log.d(TAG , "-------onRestart------"); } @Override public void onResume() { super.onResume(); //输出日志 Log.d(TAG , "-------onResume------"); } @Override public void onPause() { super.onPause(); //输出日志 Log.d(TAG , "-------onPause------"); } @Override public void onStop() { super.onStop(); //输出日志 Log.d(TAG , "-------onStop------"); } @Override public void onDestroy() { super.onDestroy(); //输出日志 Log.d(TAG , "-------onDestroy------"); } }


 main.xml的源码:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/bn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="退出" /> </LinearLayout>


strings.xml的源码:

<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, Lifecycle!</string> <string name="app_name">生命周期演示</string> </resources>


 

AndroidManifest.xml的源码:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.Lifecycle" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".LifecycleActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>


在虚拟机运行效果图:

 

 

通过DDMS的LogCat窗口可以看到启动初启动Activity的输出:

 

暂停Activity时返回时回调的方法:

 

重新启动应用程序:

 

按“退出“按钮时结束Activity时回调的方法:

 

 

上述为整个Activity的生命周期的各种状态及不同状态之间切换时所回调的方法。

转载于:https://www.cnblogs.com/springside5/archive/2012/05/01/2486258.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值