Activity生命周期问题汇总

Activity的生命周期在面试中是高频问题,今天抽空总结一下:

Activity生命周期


1. 下拉状态栏


启动Activity:

启动

05-02 10:26:57.936 3339-3339/wallet.ellison.com.blogdemo E/StatusBarActivity: onCreate ============= 
05-02 10:26:57.936 3339-3339/wallet.ellison.com.blogdemo E/StatusBarActivity: onStart ============= 
05-02 10:26:57.936 3339-3339/wallet.ellison.com.blogdemo E/StatusBarActivity: onResume ============= 
05-02 10:26:57.978 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:57.982 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.016 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.034 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.050 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.064 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.071 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.072 3339-3354/wallet.ellison.com.blogdemo E/Surface: getSlotFromBufferLocked: unknown buffer: 0xae689a00

下拉状态栏之后生命周期 没有任何变化

这里写图片描述

05-02 10:26:57.936 3339-3339/wallet.ellison.com.blogdemo E/StatusBarActivity: onCreate ============= 
05-02 10:26:57.936 3339-3339/wallet.ellison.com.blogdemo E/StatusBarActivity: onStart ============= 
05-02 10:26:57.936 3339-3339/wallet.ellison.com.blogdemo E/StatusBarActivity: onResume ============= 
05-02 10:26:57.978 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:57.982 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.016 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.034 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.050 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.064 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.071 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:26:58.072 3339-3354/wallet.ellison.com.blogdemo E/Surface: getSlotFromBufferLocked: unknown buffer: 0xae689a00
05-02 10:26:58.078 3339-3354/wallet.ellison.com.blogdemo D/OpenGLRenderer: endAllStagingAnimators on 0xb2acac00 (RippleDrawable) with handle 0xae592a80

                                                                           [ 05-02 10:26:59.914  2929: 3069 D/         ]
                                                                           HostConnection::get() New Host Connection established 0xae590bc0, tid 3069

Github Demo :

StatusBarActivity

2. 弹出 Dialog 生命周期变化

启动Activity

这里写图片描述

05-02 10:30:23.707 3339-3339/wallet.ellison.com.blogdemo E/DialogActivity: onCreate ============= 
05-02 10:30:23.708 3339-3339/wallet.ellison.com.blogdemo E/DialogActivity: onStart ============= 
05-02 10:30:23.708 3339-3339/wallet.ellison.com.blogdemo E/DialogActivity: onResume ============= 
05-02 10:30:23.757 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:30:23.759 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:30:23.788 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:30:23.799 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:30:23.823 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:30:23.839 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:30:23.849 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:30:23.849 3339-3354/wallet.ellison.com.blogdemo E/Surface: getSlotFromBufferLocked: unknown buffer: 0xae689500
05-02 10:30:23.856 3339-3354/wallet.ellison.com.blogdemo D/OpenGLRenderer: endAllStagingAnimators on 0xb2acaf80 (RippleDrawable) with handle 0xae592a10

弹出Dialog 没有任何变化
这里写图片描述

05-02 10:32:08.410 3339-3339/wallet.ellison.com.blogdemo E/DialogActivity: onCreate ============= 
05-02 10:32:08.411 3339-3339/wallet.ellison.com.blogdemo E/DialogActivity: onStart ============= 
05-02 10:32:08.411 3339-3339/wallet.ellison.com.blogdemo E/DialogActivity: onResume ============= 
05-02 10:32:08.451 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:08.453 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:08.490 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:08.507 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:08.523 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:08.537 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:08.551 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:08.552 3339-3354/wallet.ellison.com.blogdemo E/Surface: getSlotFromBufferLocked: unknown buffer: 0xae689960
05-02 10:32:08.560 3339-3354/wallet.ellison.com.blogdemo D/OpenGLRenderer: endAllStagingAnimators on 0xb2acaf80 (RippleDrawable) with handle 0xae592b40
05-02 10:32:10.729 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:10.886 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:10.890 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:10.894 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)
05-02 10:32:10.900 3339-3354/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae592650)

Github Demo :

DialogActivity

3. 弹出 AlertDialog 生命周期变化

启动Activity :

05-02 10:39:05.502 8203-8203/wallet.ellison.com.blogdemo E/DialogActivity: onCreate ============= 
05-02 10:39:05.503 8203-8203/wallet.ellison.com.blogdemo E/DialogActivity: onStart ============= 
05-02 10:39:05.503 8203-8203/wallet.ellison.com.blogdemo E/DialogActivity: onResume ============= 
05-02 10:39:05.548 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.557 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.585 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.604 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.619 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.631 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.643 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.644 8203-8218/wallet.ellison.com.blogdemo E/Surface: getSlotFromBufferLocked: unknown buffer: 0xae6c95a0
05-02 10:39:05.650 8203-8218/wallet.ellison.com.blogdemo D/OpenGLRenderer: endAllStagingAnimators on 0xae88af80 (RippleDrawable) with handle 0xae592b90

调用AlertDialog:
这里写图片描述

生命周期无变化:

05-02 10:39:05.502 8203-8203/wallet.ellison.com.blogdemo E/DialogActivity: onCreate ============= 
05-02 10:39:05.503 8203-8203/wallet.ellison.com.blogdemo E/DialogActivity: onStart ============= 
05-02 10:39:05.503 8203-8203/wallet.ellison.com.blogdemo E/DialogActivity: onResume ============= 
05-02 10:39:05.548 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.557 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.585 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.604 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.619 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.631 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.643 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:39:05.644 8203-8218/wallet.ellison.com.blogdemo E/Surface: getSlotFromBufferLocked: unknown buffer: 0xae6c95a0
05-02 10:39:05.650 8203-8218/wallet.ellison.com.blogdemo D/OpenGLRenderer: endAllStagingAnimators on 0xae88af80 (RippleDrawable) with handle 0xae592b90
05-02 10:40:15.878 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:40:15.998 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:40:16.008 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:40:16.012 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:40:16.019 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:40:16.025 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:40:16.030 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)
05-02 10:40:17.578 8203-8218/wallet.ellison.com.blogdemo D/EGL_emulation: eglMakeCurrent: 0xae5934e0: ver 3 1 (tinfo 0xae5926f0)

Github Demo :

AlertDialogActivity

猜你喜欢

转载自blog.csdn.net/sunyao19940708/article/details/80170219
今日推荐