首先,在讨论彼此关系之前我们先回顾下fragment的生命周期,尽管它看起来跟我们熟知的activity很相似,一个关键的区别在于fragment的生命周期方法是由托管activity而不是操作系统调用的,因为操作系统无法得知Activity用来管理视图的fragment,fragment的使用是在Activity它自己内部处理。
FragmentManager是负责管理fragment并将它们的视图添加到activity的视图层级结构中,考虑到Honeycomb以前版本的兼容性问题,这里使用支持库类FragmentActivity(android.support.v4.app.Fragment.Activity),通过继承FragmentActivity类,调用getSupportFragmentManager()获取FragmentManager。
注意⚠️:在Honeycomb及后续的Android版本中,Activity的所有子类都知道如何管理fragment,我们可以直接使用标准库种的原生fragment类。如果大家觉得自己是为最新版本设备开发应用的话就没必要使用支持库,但代码需要有如下修改:
1.放弃使用FragmentActivity类,转而使用标准库中的Activity(android.app.Activity)-->activity默认支持API在11以上版本中的fragment;
2.放弃使用android.support.v4.app.Fragment类,转而使用android.app.