Activity的生命周期
2015-12-20 16:06
357 查看
ActivityLifeCycle 和 LifeCycleCourse绑定同一个界面,在ActivityLifeCycle 点击跳转,跳转到LifeCycleCourse,在LifeCycleCourse点击返回,返回到ActivityLifeCycle
ActivityLifeCycle程序清单
package com.demo.activitylifecycle;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ActivityLifeCycle extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) { // 创建Activity时被回调
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_lifecycle);
Log.i("ActivityLifeCycle", "onCreat");
Button _button= (Button) findViewById(R.id.button1);
_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent _intent = new Intent(ActivityLifeCycle.this,LifeCycleCourse.class);
startActivity(_intent);
}
});
}
@Override
protected void onStart() { // 启动Activity时被回调
super.onStart();
Log.i("ActivityLifeCycle", "onStart");
}
@Override
protected void onRestart() { // 重新启动Activity时被回调
super.onRestart();
Log.i("ActivityLifeCycle", "onRestart");
}
@Override
protected void onResume() { // 恢复Activity时被回调
super.onResume();
Log.i("ActivityLifeCycle", "onResume");
}
@Override
protected void onPause() { // 暂停Activity时被回调
super.onPause();
Log.i("ActivityLifeCycle", "onPause");
}
@Override
protected void onStop() { // 停止Activity时被回调
super.onStop();
Log.i("ActivityLifeCycle", "onStop");
}
@Override
protected void onDestroy() { // 销毁Activity时被回调
super.onDestroy();
Log.i("ActivityLifeCycle", "onDestroy");
}
}
LifeCycleCourse程序清单
package com.demo.activitylifecycle;
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;
public class LifeCycleCourse extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) { // 创建Activity时被回调
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_lifecycle);
Log.i("ActivityLifeCycle", "Course onCreat");
Button _buttonreturn= (Button) findViewById(R.id.button2);
_buttonreturn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
@Override
protected void onStart() { // 启动Activity时被回调
super.onStart();
Log.i("ActivityLifeCycle", "Course onStart");
}
@Override
protected void onRestart() { // 重新启动Activity时被回调
super.onRestart();
Log.i("ActivityLifeCycle", "Course onRestart");
}
@Override
protected void onResume() { // 恢复Activity时被回调
super.onResume();
Log.i("ActivityLifeCycle", "Course onResume");
}
@Override
protected void onPause() { // 暂停Activity时被回调
super.onPause();
Log.i("ActivityLifeCycle", "Course onPause");
}
@Override
protected void onStop() { // 停止Activity时被回调
super.onStop();
Log.i("ActivityLifeCycle", "Course onStop");
}
@Override
protected void onDestroy() { // 销毁Activity时被回调
super.onDestroy();
Log.i("ActivityLifeCycle", "Course onDestroy");
}
}
layout程序清单
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:text="跳转" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1"
android:layout_marginTop="14dp"
android:text="返回" />
</RelativeLayout>
Manifest程序清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.demo.activitylifecycle"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ActivityLifeCycle"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".LifeCycleCourse"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
启动ActivityLifeCycle 生命周期函数
由ActivityLifeCycle启动LifeCycleCourse,生命周期函数
由LifeCycleCourse返回ActivityLifeCycle,生命周期函数
小结:
1、启动Activity,是调用系统生命周期函数onCreat,,onStart,onResume的过程
2、从AActivity启动BActivity,先暂停AActivity---调用onPause,再启动BActivity----调用onCreat,,onStart,onResume,再停止AActivity---调用onStop
3、从BActivity返回AActivity,先暂停BActivity---调用onPause,再重新启动AActivity---调用onRestart,,onStart,onResume,再停止BActivity---调用onStop,再消亡---调用onDestroy
ActivityLifeCycle程序清单
package com.demo.activitylifecycle;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ActivityLifeCycle extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) { // 创建Activity时被回调
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_lifecycle);
Log.i("ActivityLifeCycle", "onCreat");
Button _button= (Button) findViewById(R.id.button1);
_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent _intent = new Intent(ActivityLifeCycle.this,LifeCycleCourse.class);
startActivity(_intent);
}
});
}
@Override
protected void onStart() { // 启动Activity时被回调
super.onStart();
Log.i("ActivityLifeCycle", "onStart");
}
@Override
protected void onRestart() { // 重新启动Activity时被回调
super.onRestart();
Log.i("ActivityLifeCycle", "onRestart");
}
@Override
protected void onResume() { // 恢复Activity时被回调
super.onResume();
Log.i("ActivityLifeCycle", "onResume");
}
@Override
protected void onPause() { // 暂停Activity时被回调
super.onPause();
Log.i("ActivityLifeCycle", "onPause");
}
@Override
protected void onStop() { // 停止Activity时被回调
super.onStop();
Log.i("ActivityLifeCycle", "onStop");
}
@Override
protected void onDestroy() { // 销毁Activity时被回调
super.onDestroy();
Log.i("ActivityLifeCycle", "onDestroy");
}
}
LifeCycleCourse程序清单
package com.demo.activitylifecycle;
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;
public class LifeCycleCourse extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) { // 创建Activity时被回调
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_lifecycle);
Log.i("ActivityLifeCycle", "Course onCreat");
Button _buttonreturn= (Button) findViewById(R.id.button2);
_buttonreturn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
@Override
protected void onStart() { // 启动Activity时被回调
super.onStart();
Log.i("ActivityLifeCycle", "Course onStart");
}
@Override
protected void onRestart() { // 重新启动Activity时被回调
super.onRestart();
Log.i("ActivityLifeCycle", "Course onRestart");
}
@Override
protected void onResume() { // 恢复Activity时被回调
super.onResume();
Log.i("ActivityLifeCycle", "Course onResume");
}
@Override
protected void onPause() { // 暂停Activity时被回调
super.onPause();
Log.i("ActivityLifeCycle", "Course onPause");
}
@Override
protected void onStop() { // 停止Activity时被回调
super.onStop();
Log.i("ActivityLifeCycle", "Course onStop");
}
@Override
protected void onDestroy() { // 销毁Activity时被回调
super.onDestroy();
Log.i("ActivityLifeCycle", "Course onDestroy");
}
}
layout程序清单
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:text="跳转" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1"
android:layout_marginTop="14dp"
android:text="返回" />
</RelativeLayout>
Manifest程序清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.demo.activitylifecycle"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ActivityLifeCycle"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".LifeCycleCourse"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
启动ActivityLifeCycle 生命周期函数
由ActivityLifeCycle启动LifeCycleCourse,生命周期函数
由LifeCycleCourse返回ActivityLifeCycle,生命周期函数
小结:
1、启动Activity,是调用系统生命周期函数onCreat,,onStart,onResume的过程
2、从AActivity启动BActivity,先暂停AActivity---调用onPause,再启动BActivity----调用onCreat,,onStart,onResume,再停止AActivity---调用onStop
3、从BActivity返回AActivity,先暂停BActivity---调用onPause,再重新启动AActivity---调用onRestart,,onStart,onResume,再停止BActivity---调用onStop,再消亡---调用onDestroy
相关文章推荐
- Servlet3.1应用生命周期事件 (转载)
- Android Activity 完全结束并退出程序的实例
- Android开发 旋转屏幕导致Activity重建解决方法
- android横竖屏切换时候Activity的生命周期
- Android学习笔记--使用剪切板在Activity中传值示例代码
- android生命周期深入分析(一)
- Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)
- IIS处理Asp.net请求和Asp.net页面生命周期说明
- ASP.NET Web页生命周期和执行的方法介绍
- android PopupWindow 和 Activity弹出窗口实现方式
- Android Fragment 基本了解(图文介绍)
- Android开发中Activity属性设置小结
- 关于PHP5 Session生命周期介绍
- Android的activity学习笔记
- 详解Activity之singletast启动模式及如何使用intent传值
- Android编程实现两个Activity之间共享数据及互相访问的方法
- android弹出activity设置大小的方法
- Android编程之Activity中onDestroy()调用分析
- Android中Activity常用功能设置小结(包括全屏、横竖屏等)
- Android Activity设置全屏