您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Activity 生命周期