Fragment

Q:谈一谈Fragment的生命周期?
创建Fragment : onAttach() 、onCreate()、onCreateView()、onActivityCreated()
fragment对用户可见:onStart()、onResume()
fragment 进入后台模式:onPause()、onStop()
fragment被销毁:onPause()、onStop()、onDestoryView()、onDestory()、onDetach()

Q:Activity和Fragment的异同?
fragment 新增加了一些生命周期函数
onAttached() —— 当fragment被加入到activity时调用(在这个方法中可以获得所在的activity)
onCreateView() —— 当activity要得到fragment的layout时,调用此方法,fragment在其中创建自己的layout(界面)。
onActivityCreated() —— 当activity的onCreated()方法返回后调用此方法
onDestroyView() —— 当fragment中的视图被移除的时候,调用这个方法。
onDetach() —— 当fragment和activity分离的时候,调用这个方法。

Q:Activity和Fragment的关系?
fragment依附于activity而存在,但fragment是更为轻量级的组件,是为了解决android碎片化问题。我们可以在activity中动态加入、移除、交换
fragment页面;同时,一个activity中可以存在多个fragment,比如viewpager ; 一个fragment也可以存在于多个fragment中,比如不同模块需要同一个fragment组件

Q:何时会考虑使用Fragment?
在页面交互相对复杂时,我们会考虑采用动态添加fragment来处理,比如单一场景切换,我们考虑使用fragment+viewpager来实现动态切换效果,过度更平滑;或者当我们需要适配两套设备时,可以采用加载两种fragment布局界面来实现

你可能感兴趣的:(Fragment)