android开发中fragment的生命周期



当我们在一个viewpager放一个fragment,当切换viewpager当中的viewpager时,fragment的打印输出如下:

1.D:\Users\zhongxw>adb logcat -s debug
--------- beginning of /dev/log/main
--------- beginning of /dev/log/system
V/debug   (17567): onAttach
V/debug   (17567): onCreate
V/debug   (17567): oncreateview
V/debug   (17567): onActivityCreated
V/debug   (17567): onResume

切换到别fragment的时打印出:
V/debug   (17567): onPause
V/debug   (17567): onDestroyView

注意执行了onDestroyView进行了销毁,而下面的onCreateView也是进行对应的

重新愀复时执行:
V/debug   (17567): oncreateview
V/debug   (17567): onActivityCreated
V/debug   (17567): onResume

再退出:
V/debug   (17567): onPause
V/debug   (17567): onDestroyView
V/debug   (17567): onDestroy
V/debug   (17567): onDetach


2.如果是打开退出两种状态的切换:
打开:
V/debug   (17567): onCreate
V/debug   (17567): oncreateview
V/debug   (17567): onActivityCreated
V/debug   (17567): onResume

退出是:
V/debug   (17567): onPause
V/debug   (17567): onDestroyView
V/debug   (17567): onDestroy
V/debug   (17567): onDetach

3.**我们看到都没有执行onPause函数,onPause()多长发生如果点击fragment中的内容时或者这时弹出别的app或者说是activity,跳转到一个新界面,把当前的fragment盖住了,生命周期通常是这样的:

D:\Users\zhongxw>adb logcat -s debug
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
V/debug   (17567): onPause
V/debug   (17567): onResume

跳进入是onPause(),恢复时是onResume()


4.如果我们fragment已经展示了,我们按home键进入后台,再进入前台,则执行:
A。进入后台
V/debug   (22269): onPause

B,恢复前台

V/debug   (22269): onResume
我们看到这里前没有执行onDestroy(),没有销毁,所以也没有执行onCreateView()进行重绘。跟前面3中所描述的切换到别的activity中是一样的效果。


这里我没有打印onStart()跟onStop()函数,,因为onResume以前一定会执行onStart(),在onPause后也会执行onStop()这个函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值