Fragment的生命周期
Fragment常见知识点
1. 简述下Fragment的生命周期。
思路:参考代码中的方法注释回答即可。
Fragment从创建到销毁会依次执行以下方法:
onAttach() → onCreate() → onCreateView() → onActivityCreated() → onStart() → onResume() → onPause() → onStop() → onDestroyView() → onDestroy() → onDetach()
- onAttach():Fragment依附于Activity时调用。
- onCreate():Fragment创建时调用。
- onCreateView():Fragment创建视图时调用。
- onActivityCreated():Fragment所依附的Activity完成onCreate()方法时调用。
- onStart():与Activity的onStart()方法绑定。
- onResume():与Activity的onResume()方法绑定。
- onPause():与Activity的onPause()方法绑定。
- onStop():与Activity的onStop()方法绑定。
- onDestroyView():Fragment的布局被移除时调用。
- onDestroy():Fragment被销毁时调用。
- onDetach():Fragment从Activity中移除时调用。
2. 简述下Fragment和Activity的异同。
相同点如下:
-
都可以配置布局,都有自己的生命周期。
-
都是可以与用户通过界面交互的组件。
不同点如下:
-
Activity引入于Android 1.0,是系统的基础组件;Fragment引入于Android 3.0,为了对界面和业务逻辑进行拆分,解决Activity承载过重的问题。
-
Activity功能更强大,是显示控件的基础平台,Fragment使用更灵活,可以把相关控件打包成一个集合。打个比方:Activity相当于公司,Fragment相当于部门领导。
-
Activity属于重量级组件,需要在清单文件中配置后才可使用,生命周期由系统(ActivityManager)管理;而Fragment属于轻量级组件,依附于Activity内,无需在清单文件中配置,生命周期由Activity(FragmentManager)管理。
网友评论