Activity的生命周期

14 篇文章 0 订阅

1.onCreate   ,onDestroy()

在 onCreate()中进行所有 的全局初始化,常常我们在里面完成 界面 的初始化,

在onDestroy()中,释放 所有 的资源 ,常常会调用 close()  and release(),只要进入 onDestroy(),将无法还原。


2.onStart()  onStop() ,是否可见 

这两个方法决定 了Activity是否可见 ,调用 了onStart()后,这个 Activity就是对用户可见 的,但是可见并不是等于可操作。onStopt()则让Activity对用户不可见 ,但是它 的状态 都保存着。只是系统 别的地方 内存不够时,会将其杀死。


3.onResume()  and onPause()  ,是否可操作

决定 这个 Activity是否可以操作,从onResume()开始 ,就可以操作了。一旦调用 了onPause()就不可以 操作了。但是此时Activity还是可见的。

例子:当操作的Activity遇到 AlertDilaog时,我们只能操作Dialog,但是不可以操作Activity,此时Activity 就是可见但是不可以操作,系统 调用 的是onPause,可以说明 ,Activity常常在onResume() 与onPause()之间切换。


4. onRestart()

在Activity进行了onStop()后,Activity不可见了,但是各种资源 和状态 还在,系统 不用再执行onCreate(),只用进行onRestart()就可以再开始这个 Activity.


package com.example.activitylifedemo;

import android.os.Bundle;
import android.widget.*;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.content.*;

public class ActivityLifeDemo extends Activity {
	private String TAG="TAG";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_life_demo);
		
		Button btn =(Button)findViewById(R.id.button1);
		btn.setOnClickListener(new OnClickListener(){
			public void onClick(View arg0) {
				Intent intent = new Intent (getBaseContext(),Activity1.class);
				
				startActivity(intent);
			}
		});
		Log.d(TAG, "A-------->onCreate");
	}
	
	public void onStart(){
		super.onStart();
		Log.d(TAG, "A-------->onStart");
	}
	
	public void onRestart(){
		super.onStart();   ///
		Log.d(TAG, "A-------->onRestart");
	}
	
	public void onPause(){
		super.onPause();
		Log.d(TAG, "A-------->onPause");
	}
	
	public void onResume(){
		super.onResume();
		Log.d(TAG, "A-------->onResume");
	}
	
	public void onStop(){
		super.onStop();
		Log.d(TAG, "A-------->onStop");
	}
	
	public void onDestroy(){
		super.onDestroy();
		Log.d(TAG, "A-------->onDestroy");
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_life_demo, menu);
		return true;
	}

}

package com.example.activitylifedemo;

import android.os.Bundle;
import android.widget.*;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.content.*;

public class Activity1 extends Activity {
	private String TAG="TAG";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity1);
		
		Button btn =(Button )findViewById(R.id.button1);
		btn.setOnClickListener(new OnClickListener(){
			public void onClick(View v) {
				Intent intent = new Intent (getBaseContext(),ActivityLifeDemo.class);
				startActivity(intent );
			}
		});
		
		Log.d(TAG,"B------->onCreate");
	}
	
	public void onDestroy(){
		super.onDestroy();
		Log.d(TAG,"B------->onDestroy");
	}
	
	public void onStart(){  //可见 
		super.onStart();
		Log.d(TAG,"B------->onStart");
	}
	
	public void onStop(){  //不可见
		super.onStop();
		Log.d(TAG,"B------->onStop");
	}
	
	public void onResume(){  //可以 操作
		super.onResume();
		Log.d(TAG,"B------->onResume");
	}
	
	public void onPause(){  //不可操作
		super.onPause();
		Log.d(TAG,"B------->onPause");
	}
	
	public void onRestart(){  //onStop 后恢复Activity
		super.onStart();
		Log.d(TAG,"B------->onRestart");
	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity1, menu);
		return true;
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值