对onPause调用时机的误解

来源:互联网 发布:程序员被前妻勒索照片 编辑:程序博客网 时间:2024/05/21 06:57

以前看到很多地方对Activity生命周期的pause状态定义为:Activity不在前台,但还是可见的。所以就以为如果在一个Activity中弹出一个Dialog,也会触发onPause方法。后来经试验发现这是错误的。

再仔细看了下Android官方文档:
这里写图片描述
上面说当Activity B在Activity A前面时,会触发Activity A中的onPause方法。 B直到A的onPause方法执行完后才会被创建,所以建议不要在onPause方法中做耗时操作。

所以,onPause被触发,并不是A的主界面处于被其它东西不完全覆盖状态,而是被某个其它Activity不完全覆盖。

Fragment的周期会追随Activity的,所以情况一样。

0 0