android学习笔记13--------------Activity生命周期
Activity除了创建(onCreate)和销毁(onDestroy),还有三个状态:
1.当它在屏幕前台时(位于当前任务堆栈顶部),它是激活或运行状态。它就是响应用户操作的Activity.
2.当它失去焦点但仍对用户可见,它处于暂停状态。
此时的MainActivity处于暂停状态,即在它之上另有一个Activity,这个Activity也许是透明的,或者没有覆盖全屏,如这个对话框,所以
被暂停的MainActivity对用户仍然是可见的。暂停的Activity仍然是存活状态,但系统假如处于极低内存时是可以杀死暂停状态的Activity
的。
3.当完全被另一个Activity覆盖时,则处于停止状态。它对用户是不可见的,例如当MainActivity激活状态时,有电话打入,则MainActivity
处于停止状态,如果其他地方需要内存,则系统可能杀死停止的Activity。
当Activity由一种状态转为另一种状态,会调用以下方法来通知这些变化:
[java]
@Override
protected void onStart()
{
super.onStart();
}
@Override
protected void onRestart()
{
super.onRestart();
}
@Override
protected void onResume()
{
super.onResume();
}
@Override
protected void onPause()
{
super.onPause();
}
@Override
protected void onStop()
{
super.onStop();
}
@Override
protected void onDestroy()
{
super.onDestroy();
}
@Override
protected void onStart()
{
super.onStart();
}
@Override
protected void onRestart()
{
super.onRestart();
}
@Override
protected void onResume()
{
super.onResume();
}
@Override
protected void onPause()
{
super.onPause();
}
@Override
protected void onStop()
{
super.onStop();
}
@Override
protected void onDestroy()
{
super.onDestroy();
}
其过程如图:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity
{
Button dailogbButton;
Button exitbButton;
String Tag="MainActivity";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dailogbButton=(Button)findViewById(R.id.dialog);
exitbButton=(Button)findViewById(R.id.exit);
dailogbButton.setOnClickListener(listener);
exitbButton.setOnClickListener(listener);
Log.i(Tag, "onCreate");
}
private OnClickListener listener=new OnClickListener()
{
@Override
public void onClick(View v)
{
Button button=(Button)v;
switch (button.getId())
{
case R.id.dialog:
/*new AlertDialog.Builder(MainActivity.this).setTitle("提示").setMessage("这是对话框?")
.setPositiveButton("确认", new DialogInte易做图ce.OnClickListener()
{
@Override
public void onClick(DialogInte易做图ce dialog, int which)
{
dialog.dismiss();
}
}).setNegativeButton("取消", new DialogInte易做图ce.OnClickListener()
{
@Override
public void onClick(DialogInte易做图ce dialog, int which)
{
dialog.dismiss();
&nbs
补充:移动开发 , Android ,