大家好,又见面了,我是你们的朋友全栈君。
1 onCreate( )这是必须要写的方法,此方中主要是对activity进行ui的加载
2 onstart( ) 在onCreate( )方法之后创建 用来显示界面此时还不可以进行用户的交互
3 onResume( )在onstart( )方法中后创建 可以与用户进行交互 此时进入activity的第一个状态 Resumed状态即运行状态。当paused被覆盖返回时仍会调用该状态
4 onpause( ) 当用户进入透明的窗口时会被调用此时可以看见但是没焦点,当因内存不够会被kill掉此时会进入onResume状态
5 onStop( )当activity被整个覆盖时进入该状态
6 onDestroy( )在activity被销毁前所调用的最后一个方法,当进程终止时会出现这种情况
7 onRestart( ) 当activity从停止状态重新启动时调用。其后调用onResume( )
First Activity中:
package cn.edu.bzu.activitydemo;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class FirstActivity extends AppCompatActivity {
private Button btnClick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
Log.d("FirstActivity","onCreate");
btnClick=(Button)findViewById(R.id.button);
btnClick.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent=new Intent( FirstActivity.this,SecondActivity.class);
startActivity(intent);
}
});
}
@Override
protected void onStart() {
super.onStart();
Log.d("FirstActivity","onStart");
}
@Override
protected void onResume() {
super.onResume();
Log.d("FirstActivity","onResume");
}
@Override
protected void onPause() {
super.onPause();
Log.d("FirstActivity","onPause");
}
@Override
protected void onStop() {
super.onStop();
Log.d("FirstActivity","onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("FirstActivity","onDestroy");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("FirstActivity","onRestart");
}
}
SecongActivity中
package cn.edu.bzu.activitydemo;
import
android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Log.d("SecondActivity","onStart");
}
@Override
protected void onStart() {
super.onStart();
Log.d("SecondActivity","onCreate");
}
@Override
protected void onResume() {
super.onResume();
Log.d("SecondActivity","onResume");
}
@Override
protected void onPause() {
super.onPause();
Log.d("SecondActivity","onPause");
}
@Override
protected void onStop() {
super.onStop();
Log.d("SecondActivity","onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("SecondActivity","onDestroy");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("SecondActivity","onRestart");
}
}
xml文件中的布局界面
1.首先点击first_activity中的button按钮,会在Android Monitors的log cat界面看到firstactivity的执行情况,通过生命周期图可以看出经历了生命周期的前三个方法。
2继续点击虚拟机的按钮,看到firstactivity调用了onpause方法暂停还是处于可见状态,此时,secondactivity经历前三个方法,完全可交互。此时2已经把1完全覆盖住了,firstactivity变得不可见。
3这样就通过案例实现了生命周期部分方法的调用。可重复操作进行验证。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170697.html原文链接:https://javaforall.cn