Activity的生命周期

来源:互联网 发布:会java学php要多久 编辑:程序博客网 时间:2024/06/18 13:49

这里Activity的生命周期函数主要有7个,我们写二个Activity程序,通过互相的调用,就可以看出函数调用的顺序

每一个函数的功能都有注释

package com.example.helloworld;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

/*
 * ActivityLifeCycleFirst 启动   =====》调用  onCreate01 onStart01 onResume01
 * 调用ActivityLifeCycleSecond  调用 onPause01 onCreate02 onStart02  onResume02 onStop01
 * 按返回键 返回第一个Activity  调用 onPause02 onRestart01 onResume01 onStop02 onDestory02
 * */
/*
 * 如果一个应用程序有很多的Activity组成,依次执行每一个Activity 会被依次的压栈
 * 
 * */
public class ActivityLifeCycleFirst extends Activity {
private Button button;

/*
* 这个函数在第一次初始化Activity的时候,被调用
* */
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
System.out.println("ActivityLifeCycleFirst=====>onCreate");
setContentView(R.layout.activitylifecyclefirst);

button=(Button)findViewById(R.id.bjump);
button.setOnClickListener(new RedirectOnClickListener());
}

/*
* 页面被完全初始化的时候,被调用
* */
@Override
protected void onStart() {
System.out.println("ActivityLifeCycleFirst=====>onStart");
super.onStart();
}
/*
* 页面获取用户焦点的时候,被调用
* */

@Override
protected void onResume() {
System.out.println("ActivityLifeCycleFirst=====>onResume");
super.onResume();
}


/*
* 当一个该Activity调用另外一个Activity的时候,该方法被调用
* */
@Override
protected void onPause() {
System.out.println("ActivityLifeCycleFirst=====>onPause");
super.onPause();
}



/*
* 该Activity被其它的Activity完全的覆盖,该方法被调用
* 如果当前的Activity没有被新的Activity完全的覆盖,则该方法不会被调用
* */
@Override
protected void onStop() {
System.out.println("ActivityLifeCycleFirst=====>onStop");
super.onStop();
}

/*
* 调用该方法有二中方式
* 第一:该Activity调用finish()方法
* 第二:内存的系统空间不够用
* */
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
System.out.println("ActivityLifeCycleFirst=====>onDestroy");
super.onDestroy();
}

@Override
protected void onRestart() {
System.out.println("ActivityLifeCycleFirst=====>onRestart");
super.onRestart();
}


class RedirectOnClickListener implements OnClickListener{
@Override
public void onClick(View view) {
Intent intent=new Intent();
intent.setClass(ActivityLifeCycleFirst.this, ActivityLifeCycleSecond.class);
ActivityLifeCycleFirst.this.startActivity(intent);
}

}
}


-------------------------------------------------------------------------------------------------


package com.example.helloworld;


import com.example.helloworld.ActivityLifeCycleFirst.RedirectOnClickListener;


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


public class ActivityLifeCycleSecond extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activitylifecyclesecond);
}

@Override
protected void onStart() {
System.out.println("ActivityLifeCycleSecond=====>onStart");
super.onStart();
}

@Override
protected void onResume() {
System.out.println("ActivityLifeCycleSecond=====>onResume");
super.onResume();
}


@Override
protected void onPause() {
System.out.println("ActivityLifeCycleSecond=====>onPause");
super.onPause();
}



@Override
protected void onStop() {
System.out.println("ActivityLifeCycleSecond=====>onStop");
// TODO Auto-generated method stub
super.onStop();
}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub
System.out.println("ActivityLifeCycleSecond=====>onDestroy");
super.onDestroy();
}




@Override
protected void onRestart() {
System.out.println("ActivityLifeCycleSecond=====>onRestart");
super.onRestart();
}
}

0 0
原创粉丝点击