1. Activity的生命周期
Activity有四种生命状态 ,分别是:running、paused、stopped、killed。
1.running:在屏幕的前台(Activity栈顶)
2.paused:如果一个Activity失去焦点,但是依然可见(一个新的非全屏的Activity 或者一个透明的Activity 被放置在栈顶),叫做暂停状态(Paused)。一个暂停状态的Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被杀掉。
3.stopped: 如果一个Activity失去焦点,但是依然可见(一个新的非全屏的Activity 或者一个透明的Activity 被放置在栈顶),叫做暂停状态(Paused)。
4.killed:一个暂停状态的Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被杀掉。
1.1 正常生命周期
-
onCreate(): 表示此时activity正在创建,通常进行一些初始化的方法。
-
onStart(): 表示此时activity已经被创建,但没有位于前台,处于可见但不可交互的状态。
-
onResume(): 表示此时activity处于前台running的状态,既可见又可交互的状态。
-
onPause(): 表示此时activity处于paused的状态,一般紧接着会调用onStop(),此时处于可见但不可交互。在这个方法中进行一些存储、暂停的工作,但不能耗时过长。
-
onStop(): 表示Activity处于stopped状态,此时位于后台,处于不可见也不可交互状态。这个方法中能继续做一些不耗时的回收工作。
-
onDestroy(): 表示Activity即将被销毁。在这个最终的方法中,进行剩余所有资源的释放和回收。
Q&A
1.在Activity A中打开Activity B 调用方法顺序是什么?
--原栈顶的activity A会先调用onPause,然后新activity B依次调用onCreate ->