标签:
先说一下我们上面运行的程序,当用户在手机上看到显示的内容(如:2.2 音乐播放示例),其中内容部分在Android开发中都需要一个应用组件来实现,这个组件叫做Activity。大家可以这样子去理解Activity,它就是完成手机屏幕内容的显示。 在学习Android开发时,理解并掌握Activity的生命周期很重要。例如:当手机屏幕内容从一个界面切换到另一个界面,这就需要从一个Activity切换到另一个Activity,其中他们是如何运行的,这就需要理解Activity的生命周期。
先给一个Google官方的图解图
测试Activity生命周期,见下面的程序代码
package com.android; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.util.Log; import android.view.View; import android.widget.Button; public class LifeCycleActivity extends Activity { private static final String TAG = "LifeCycleActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.v(TAG, "onCreate Called"); Button btn1 = (Button) findViewById(R.id.btn1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { /* Intent实现Activity与Activity之间的切换 */ Intent intent = new Intent(LifeCycleActivity.this, TargetActivity.class); startActivity(intent); } }); } @Override protected void onDestroy() { super.onDestroy(); Log.v(TAG, "onDestroy Called"); } @Override protected void onPause() { super.onPause(); Log.v(TAG, "onPause Called"); } @Override protected void onRestart() { super.onRestart(); Log.v(TAG, "onRestart Called"); } @Override protected void onResume() { super.onResume(); Log.v(TAG, "onResume Called"); } @Override protected void onStart() { super.onStart(); Log.v(TAG, "onStart Called"); } @Override protected void onStop() { super.onStop(); Log.v(TAG, "onStop Called"); } }
package com.android; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; public class TargetActivity extends Activity { private static final String TAG = "TargetActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.target); Button btn2 = (Button) findViewById(R.id.btn2); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(TargetActivity.this, LifeCycleActivity.class); startActivity(intent); } }); } @Override protected void onDestroy() { super.onDestroy(); Log.v(TAG, "onDestroy Called"); } @Override protected void onPause() { super.onPause(); Log.v(TAG, "onPause Called"); } @Override protected void onRestart() { super.onRestart(); Log.v(TAG, "onRestart Called"); } @Override protected void onResume() { super.onResume(); Log.v(TAG, "onResume Called"); } @Override protected void onStart() { super.onStart(); Log.v(TAG, "onStart Called"); } @Override protected void onStop() { super.onStop(); Log.v(TAG, "onStop Called"); } }
上面两个Activity,其中LifeCycleActivity为APP的主运行程序,而TargetActivity需要LifeCycleActivity来调用才能运行。当然上面的两段代码有几个关注点需要解释一下
注意:查看Activity生命周期需要重写Activity中的方法。重写方法请参照上面的图片
有了上面Activity生命周期的流程图,我们先给大家总结一下Activity生命周期的几个过程
文章内容来自:国信安刘阳
标签:
原文地址:http://www.cnblogs.com/cdgxa/p/5158059.html