Activity的生命周期

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的生命周期无影响

 

posted @   blacksonny  阅读(325)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示