Activity的onStop和onPause的调用时机

来源:互联网 发布:张靓颖是冯轲的m知乎 编辑:程序博客网 时间:2024/06/06 02:35

Activity的onStop和onPause的调用时机

我们先看一张一张经典的生命周期流程图:

由上图可知,onPause的调用是“Another activity comes in front of the activity”,即另一个activity跑到前台来的时候,前一个activity的onPause方法会被调用。以前也看过一些资料,说是Toast和Dialog的出现会影响Activity的生命周期,会部分遮住activity而是activity进入到onPause状态,本人在一段时间内竟然也相信了,一直也是这么认为的,直到写这篇文章的时候,做了一个简单的测试,才发现无论是Toast还是Dialog,它们的出现对的activity的生命周期无任何影响,有另一片博客的观点与本人相同,可阅读印证一下

http://blog.csdn.net/cloud_castle/article/details/56011562

     onStop的调用是“The activity is no longer visible”,也就是完全不可见的时候调用的,这个完全不可见真的就是指视觉上的完全看不到而已,无论是按home键返回桌面,还是启动另一activity把原activity完全遮住,都会调用onStop。但是当启动的activity是透明的时候,原activity只会进入onPause状态,而不会走到onStop状态,因为原acitivity还是可见的,虽然逻辑上被遮住了,但是视觉上确实是可见的,这一点要注意。