Android 学习记录3 -Activity 的生命周期
来源:互联网 发布:license破解软件 编辑:程序博客网 时间:2024/05/22 10:56
学习记录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--";@Overridepublic 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){//结束该ActivityLifecycleActivity.this.finish();}});}@Overridepublic void onStart() {super.onStart();//输出日志Log.d(TAG , "-------onStart------");}@Overridepublic void onRestart() {super.onRestart();//输出日志Log.d(TAG , "-------onRestart------");}@Overridepublic void onResume() {super.onResume();//输出日志Log.d(TAG , "-------onResume------");}@Overridepublic void onPause() {super.onPause();//输出日志Log.d(TAG , "-------onPause------");}@Overridepublic void onStop() {super.onStop();//输出日志Log.d(TAG , "-------onStop------");}@Overridepublic 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"><Buttonandroid: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的生命周期的各种状态及不同状态之间切换时所回调的方法。
- Android 学习记录3 -Activity 的生命周期
- Android 学习记录-Activity生命周期
- Android学习笔记补充记录——Activity的生命周期
- 记录自己的Android学习(三)Activity生命周期
- android 基础学习(3)-----activity的生命周期
- Android学习笔记3 Activity的生命周期
- Activity的生命周期记录
- Android学习之Activity的生命周期学习
- Android Activity 生命周期研究记录
- android学习:activity生命周期
- android-activity生命周期学习
- Android学习笔记(3)-Activity的生命周期
- Android学习笔记(3)-Activity的生命周期
- Android学习笔记--Activity的生命周期
- android学习之-activity的生命周期
- Android学习——Activity的生命周期
- (Android学习笔记)Activity的生命周期
- Android学习笔记4 Activity的生命周期
- lucene 自定义分词器小程序
- asp.ne系统对象学习
- 3 approach to create mex endpoint
- Erlang HIPE/x86尾调用优化
- gdb+gdbserver调试
- Android 学习记录3 -Activity 的生命周期
- myeclipse8.5中集成flex4.5
- 反射的两个小例子(根据类名打印全部类信息、泛型数组)
- donetcms与Discuz整合的webconfig设置
- MYSQL JDBC参数说明
- 继承
- 服务器的性能指标
- vbs拷贝文件夹obj中和文件夹jpg下文件名相同的文件到model目录下代码
- DisableScreenSave