Android中生命周期的知识
注意:如果要在android机制中打印出System.out的输出语句
需要配置过滤器,名称为System.out就行

1.Activity的生命周期函数

public class Activity extends ApplicationContext {
/**Activity1第一次被创建时*/
protected void onCreate(Bundle savedInstanceState);
/**当Activity1被看到时调用*/
protected void onStart();
/**当从Activity2返回时调用*/
protected void onRestart();
/**当Activity1被操作时调用*/
protected void onResume();
/**启动跳转到Activity2时调用*/
protected void onPause();
/**Activity1处于不可见的状态时调用*/
protected void onStop();
/**此时销毁的是Activity2*/
调用finish()方法或者系统资源不够用时调用
protected void onDestroy();
}
2.Task基本概念
任务:一个存放Activity的栈
注:点击Back按钮,将当前的Activity弹出栈
启动Intent后使用finish方法,就将Activity销毁了
配置一个以对话框形式的Activity:
<activity android:name=".ThirdActivity"
android:label="@string/thirdName"
android:theme="@android:style/Theme.Dialog">
</activity>
此时之前的Activity没有被完全覆盖,所以不调用onStop()
代码实现:

FirstActivity.java

package com.apkway;
import com.apkway.R;
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;
/**
* @author ghost
* 第一个Activity
*/
public class FirstActivity extends Activity {
private Button start1;
private Button start2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.first);
System.out.println("1Activity!onCreate");
start1 = (Button)this.findViewById(R.id.start1);
start2 = (Button)this.findViewById(R.id.start2);
OnClickListener listener1 = new OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(it);
}
};
start1.setOnClickListener(listener1);

OnClickListener listener2 = new OnClickListener() {

@Override
public void onClick(View v) {
Intent it = new Intent(FirstActivity.this,ThirdActivity.class);
startActivity(it);
}
};
start2.setOnClickListener(listener2);
}

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
System.out.println("1Activity!onStart");
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
System.out.println("1Activity!onStop");
}

@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
System.out.println("1Activity!onRestart");
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
System.out.println("1Activity!onResume");
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("1Activity!onPause");
}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("1Activity!onDestroy");
}
}

SecondActivity.java

package com.apkway;
import com.apkway.R;
import android.app.Activity;
import android.os.Bundle;
/**
* @author ghost
* 第二个Activity
*/
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
System.out.println("2Activity!onCreate");
}

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
System.out.println("2Activity!onStart");
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
System.out.println("2Activity!onStop");
}

@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
System.out.println("2Activity!onRestart");
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
System.out.println("2Activity!onResume");
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("2Activity!onPause");
}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("2Activity!onDestroy");
}
}

ThirdActivity.java

package com.apkway;
import android.app.Activity;
import android.os.Bundle;
/**
* @author ghost
* 第三个Activity
*/
public class ThirdActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.third);
}
}
xml的配置很简单,相信对android入门的同学们肯定是不在话下的,好的,这讲就到这里了,源码也附上了,有什么问题留言交流!

更多相关文章

  1. Android使背景灯(Brightness)高亮的方法
  2. Android(安卓)动态注册广播
  3. Android(java)学习笔记113:Android编写代码调用Vibrator震动功能,按
  4. android accessibility
  5. android自APP打开高德,百度,腾讯地图APP调用(整理非原创)
  6. android Tether 分析
  7. Android(安卓)recyclerview更新item位置移动
  8. Android音频系统之四AudioPolicy
  9. Android(安卓)使用WebView

随机推荐

  1. android litepal(还是手写db的好用)
  2. Android画图demo
  3. android飞翔的小鸟……
  4. Android(安卓)studio自动下载第三方jar包
  5. android editText动态改变事件
  6. Android(安卓)各种音量的获取和设置
  7. Android 自定义AlertDialog 并且4个角为
  8. Android 自定义带百分比的进度条
  9. TextView实现中间文字两侧图片的样式 和
  10. android中的BaseAdapter使用