LifecycleActivity

本文详细介绍了 Android 开发中 Activity 的生命周期方法,包括 onCreate、onStart、onResume、onRestart、onPause、onStop 和 onDestroy 的调用时机及作用。通过示例代码展示了不同阶段的状态转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.example.hello;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;

/**
 * 进入手机鼠标第一次点击
 * onCreate
 * onStart
 * onResume
 * 
 * 接着关闭
 * onPause
 * 
 * onStop
 * onDestroy
 * 
 * 
 * 
 * 
 * 
 * @author ZengWenFeng
 *
 */

public class LifecycleActivity extends Activity 
{
	private String tag = LifecycleActivity.class.getSimpleName();

	/**
	 * 1、Activity创建执行
	 */
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_lifecycle);
		
		Log.d(tag, "onCreate");
	}
	
	/**
	 * 2、Activity可见时执行
	 */
	protected void onStart()
	{
		super.onStart();
		
		Log.d(tag, "onStart");
	}
	
	/**
	 * 3、Activity可交互时执行
	 */
	protected void onResume()
	{
		super.onResume();
		
		Log.d(tag, "onResume");
	}
	
	/**
	 * 4、Activity重新可见时执行,不是第一次可见
	 */
	protected void onRestart()
	{
		super.onRestart();
		
		Log.d(tag, "onRestart");
	}
	
	/**
	 * 5、Activity暂停执行
	 */
	protected void onPause()
	{
		super.onPause();
		
		Log.d(tag, "onPause");
	}
	
	/**
	 * 6、Activity暂停执行
	 */
	protected void onStop()
	{
		super.onStop();
		
		Log.d(tag, "onStop");
	}
	
	/**
	 * 7、Activity销毁
	 */
	protected void onDestroy()
	{
		super.onDestroy();
		
		Log.d(tag, "onDestroy");
	}
	
	/**
	 * 打开模式为singleTop时候,如果该activity02在栈顶会调用
	 * 
	 * @author zengwenfeng
	 * @date 2015.04.22
	 */
	protected void onNewIntent(Intent intent)
	{
		super.onNewIntent(intent);
		
		Toast.makeText(this, "onNewIntent_message", Toast.LENGTH_SHORT).show();
	}
	
	
	private String value = "value";
	/**
	 * 保存实例状态
	 * 
	 * 1、控件必须要有ID
	 * 2、保存不了变量的值,???
	 */
	protected void onSaveInstanceState(Bundle outState)
	{
		//----------------------------------------------------
		outState.putString("key", value);//保存临时变量
		//----------------------------------------------------
		
		super.onSaveInstanceState(outState);
	}
	
	/**
	 * 还原实例状态
	 * 
	 * (non-Javadoc)
	 * @see android.app.Activity#onRestoreInstanceState(android.os.Bundle)
	 * 
	 * protected void onCreate(Bundle savedInstanceState)
	 */
	protected void onRestoreInstanceState(Bundle savedInstanceState) 
	{
		super.onRestoreInstanceState(savedInstanceState);
		
		
		//----------------------------------------------------
		if (savedInstanceState == null)
		{
			return;
		}
		
		String value = savedInstanceState.getString("key");
		Toast.makeText(this, value, Toast.LENGTH_SHORT).show();
		//----------------------------------------------------
	}
	
	public boolean onCreateOptionsMenu(Menu menu) 
	{
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.lifecycle, menu);
		return true;
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spencer_tseng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值