Fragment中有onResume()和onPause()方法,一般来说这两个方法是跟Activity绑定的,即触发Activity的这两个方法时就会触发Fragment的这两个方法,另外Fragment还有可见与不可见状态,但是Fragment中的onResume()/onPause()和可见/不可见完全是两码事。这里我将这两种情况做了一下分析,以做记录。
一、onResume()和onPause()
这两个方法会跟随Activity而变化,但是也不一定只有经历Activity的生命周期才会触发,这又分两种情况:
1. 在Activity中单独使用Fragment
单独使用Fragment的情况下,除了会跟随Activity的onResume和onPause的情况外,在当前Activity中添加一个Fragment时,被添加的Fragment都会调用onResume,这包括通过add和replace的方式添加;在Fragment销毁的情况下都会触发onPause,如果是add到回退栈的情况,back键就会触发onPause,如果是replace的情况,则被替换掉的Fragment会触发onPause。
如果Activity中添加了多个Fragment,那么当Activity触发onResume和onPause时,Activity中的每一个Fragment都会触发这两个方法