我们为什么要选择Fragment代替Activity,实现单Activity+多Fragment或者多模块+多Fragment的架构?🤔
这便是我们使用Fragment两个最主要的原因。
Fragment有七种基本操作。
不同的操作对Fragment生命周期的影响是不一样的,我们可以根据自己的需要选择相应的方法。
add: add操作添加一个Fragment,会依次调用 onAttach, onCreate, onCreateView, onStart and onResume 等方法。
remove: remove操作移除一个Fragment,会依次调用nPause, onStop, onDestroyView, onDestroy and onDetach 等方法。
replace: replace操作相当于remove+add,它同样会导致视图的重建。
show:show操作会显示一个的视图,它只会触发onHiddenChange()方法。
hide:hide操作会隐藏一个的视图,它只会触发onHiddenChange()方法。
attach: attach操作关联一个Fragment,会依次调用onCreateView, onStart and onResume 。
detach: detach操作分离一个Fragment,会依次调用onPause, onStop and onDestroyView 等方法。
popBackStack
关于使用Fragment操作的使用建议
Fragment的复杂性或者不方便的地方,就是操作方法的调用和回退栈的管理。
一些其他建议
当配置发生改变、系统内存紧张等原因导致Activity重建。
扫一扫
在手机上阅读