Activity生命周期演示

来源:互联网 发布:淘宝主图尺寸是多少 编辑:程序博客网 时间:2024/06/12 23:21

Activity生命周期演示

 

在“管理activity的生命周期”系列课程中,我们讲解了activity的生命周期,官方网站上是有一个演示Demo的(下载Demo),通过我的演示,来给大家讲解一下activity的生命周期。

 

编译运行工程,进入app,界面如下:


 

Activity A是主入口activity,所以显示ActivityA的界面。Activity A显示在前台,所以依次有3个生命周期回调方法被调用:onCreate() -> onStart() -> onResume()。

 

接下来,我们启动B:

 

 

此时Activity B进入前台,状态是运行,Activity A完全不可见,则进入后台,状态是停止,他们两个的生命周期方法都会被调用,调用顺序如下图所示:

 


 

请注意他们的调用顺序,A.onPause()->B.onCreate()->B.onStart()->B.onResume()->A.onStop()。

大家注意到了吧,A.onStop()是在B完全显示出来时才调用的,这就是为什么把CPU密集型的释放资源的动作放在onStop()里进行,而不是放在onPause()里进行,因为如果onPause()操作时间太长的话,会影响Activity B的及时显示的。

 

现在结束B,如下图所示:


此时A和B的生命周期方法调用顺序如下:


 

由于B调用了finish()结束自己,所以B此时会被调用onDestroy(),且处于销毁状态。

 

在A的界面启动一个对话框风格的activity时,会发生什么呢?如下图,启动对话框:

 


 

由于对话框没有填满整个屏幕,所以A部分可见,它的onPause()回调被调用,目前处于暂停状态。接着关闭对话框,如下图:

 


A完全可见,则onResume()回调被调用,处于运行状态。

 

以上就是Activity的生命周期的简单演示,大家可以下载下Demo,然后自己操作一下,就会明白了。

 


 


0 0
原创粉丝点击