主Activity界面如下:
package com.example.hairu;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("xuhaitao", "main onCreate");
}
public void finish() {
// TODO Auto-generated method stub
super.finish();
Log.i("xuhaitao", "main finsih()");
}
public void tiaoZhuan(View v) {
Intent aa=new Intent(this,Bactivity.class);
startActivity(aa);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.i("xuhaitao", "main onDestroy");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.i("xuhaitao", "main onPause");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.i("xuhaitao", "main onRestart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i("xuhaitao", "main onResume");
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.i("xuhaitao", "main onStart");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.i("xuhaitao", "main onStop");
}
}
Bactivity界面如下:
package com.example.hairu;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
public class Bactivity extends Activity {
@Override
public void finish() {
super.finish();
Log.i("xuhaitao", "B finsih()");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.bbb);
Log.i("xuhaitao", "B onCreate");
}
public void tiaoZhuan02(View v) { //点击按钮后调用的方法
finish();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.i("xuhaitao", "B onDestroy");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.i("xuhaitao", "B onPause");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.i("xuhaitao", "B onRestart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i("xuhaitao", "B onResume");
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.i("xuhaitao", "B onStart");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.i("xuhaitao", "B onStop");
}
}
主Activity界面:
点击该按钮后,打印结果如下:
Bactivity界面如下:
点击按钮返回上一页时,打印结果:
很容易发现,通过finish的方法返回上一Activity时,自己最终是被OnDestroy(销毁)
如果把Bactivity中按钮的跳转方法改为通过Intent跳转,如下:
打印结果如下:
最后总结:
通过Itent返回 自己到OnStop结束 对方从OnCreate开始
通过finish返回 自己到OnDestroy结束 对方从OnRestart开始
FR:海涛高软(QQ技术交流群:386476712)