Fragment若干知识点记录

FragmentTransaction几个方法的区别

add/remove,其中add添加fragment并且显示,最后的生命周期方法是onResume,remove去除fragment,执行之后的生命周期方法。show/hide单纯的决定View显示还是隐藏,不执行生命周期方法。attach和detach,detach会执行onPause,onStop,onDestroyView,之后再attach会执行onCreateView,onViewCreated,onActivityCreated,onStart,onResume,所以这两个方法负责view的销毁和创建,但不影响onDestroy,onCreate,onAttach,onDetach。replace与add的区别,replace会自动地去掉其他的Fragment(相当于在附加在同一个View上的其他Fragment都执行一遍remove)

Fragment本质

本质就是对View添加了一些与Activity关联的生命周期方法。Activity通过FragmentController传递生命周期事件给Fragment,Fragment通过FragmentHostCallback来回调宿主,值得注意的是Fragment的宿主不必非是Activity,因为SystemUI的导航栏也使用了Fragment,可导航栏可不是一个Activity,SystemUI通过创建FragmentHostManager工具类来直接地将Fragment直接与View关联(仍然是通过FragmentController)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值