Activity的生命周期

actvitiy生命周期是如何的呢,了解了activity的生命周期对于android的开发是至关重要的。我们都知道activity内包含了以下的方法:

onCreateonStartonRestartonResumeonPauseonStoponDestroy

我们从编代码、运行程序、执行操作的过程来逐步了解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的生命周期无影响

原文地址:https://www.cnblogs.com/blacksonny/p/4526761.html