actvitiy生命周期是如何的呢,了解了activity的生命周期对于android的开发是至关重要的。我们都知道activity内包含了以下的方法:
onCreate\onStart\onRestart\onResume\onPause\onStop\onDestroy
我们从编代码、运行程序、执行操作的过程来逐步了解activity的生命周期。
1、首先定义一个activity叫 ActivityLifeCycleActivity.java
1 /** 2 * Created by kk on 2015/5/24 024. 3 */ 4 public class ActivityLifeCycleActivity extends Activity{ 5 6 private static final String TAG = "ActivityLifeCycle"; 7 8 @Override 9 protected void onCreate(Bundle savedInstanceState) { 10 super.onCreate(savedInstanceState); 11 12 setContentView(R.layout.activity_lifecycle); 13 14 Log.i(TAG, "onCreate..."); 15 } 16 17 18 @Override 19 protected void onStart() { 20 super.onStart(); 21 Log.i(TAG, "onStart..."); 22 } 23 24 @Override 25 protected void onRestart() { 26 super.onRestart(); 27 Log.i(TAG, "onRestart..."); 28 } 29 30 @Override 31 protected void onResume() { 32 super.onResume(); 33 Log.i(TAG, "onResume..."); 34 } 35 36 @Override 37 protected void onPause() { 38 super.onPause(); 39 Log.i(TAG, "onPause..."); 40 } 41 42 @Override 43 protected void onStop() { 44 super.onStop(); 45 Log.i(TAG, "onStop..."); 46 } 47 48 @Override 49 protected void onDestroy() { 50 super.onDestroy(); 51 Log.i(TAG, "onDestroy..."); 52 } 53 }
2、启动activity,运行到模拟器如下画面
此时查看logcat内容显示为:
05-24 13:08:43.835 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onCreate...
05-24 13:08:43.835 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onStart...
05-24 13:08:43.835 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onResume...
3、点击Back键后查看logcat内容显示为:
05-24 13:25:32.134 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onPause...
05-24 13:25:32.742 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onStop...
05-24 13:25:32.742 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onDestroy...
4、点击home键后查看logcat内容显示为:
05-24 13:27:04.253 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onPause...
05-24 13:27:04.829 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onStop...
5、紧接着第4步骤,再次进入activity,logcat内容显示为
05-24 13:29:10.443 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onRestart...
05-24 13:29:10.443 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onStart...
05-24 13:29:10.443 7197-7197/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onResume...
6、当在此activity打开一个新的activity,logcat内容显示为(效果与点home键一样,因此当返回时的执行结果如上面所示)
05-24 13:36:24.842 17393-17393/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onPause...
05-24 13:36:25.278 17393-17393/com.baixd.app.framework2 I/ActivityLifeCycle﹕ onStop...
7、当在此activity打开一个AlertDialog,logcat内容显示为
无显示,对activity的生命周期无影响
8、当在此activity打开一个PopWindow,logcat内容显示为
无显示,对activity的生命周期无影响
原文:http://www.cnblogs.com/blacksonny/p/4526761.html