当前位置:操作系统 > 安卓/Android >>

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 DialogInterface.OnClickListener()
                    {
                        @Override
                        public void onClick(DialogInterface dialog, int which)
                        {
                            dialog.dismiss();
                        }
                    }).setNegativeButton("取消", new DialogInterface.OnClickListener()
                    {
                        
                        @Override
                        public void onClick(DialogInterface dialog, int which)
                        {
                            dialog.dismiss();                   
     &nbs

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,