使用fragment更节约内存.
一.Fragment加载到Activity的两种方式
a.添加Fragment到Activity的布局文件当中.
b.动态在Activity中添加fragment.
步骤1. FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();//得到FragmentTransaction对象
步骤2. RightFragment rightFragment = new RightFragment();
transaction .add(R.id.right_container, rightFragment, "rightFragmet");//添加具体的Fragment实例
transaction.addToBackStack("rightFragment");
步骤3. transaction.commit();//使FragmentTransaction实例生效.
二.FragmentPagerAdapter 和 FragmentStatePagerAdapter的区别.
FragmentPagerAdapter:在切换viewpager的时候实际上是没有回收内存的,所以适用于页面较少的情况.
FragmentStatePagerAdapter:在切换viewpager的时候是回收了内存的,所以适用于页面较多的情况.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三. Fragment的生命周期.

onCreate()方法:初次创建Fragment时调用.
onCreateView()方法: 系统首次绘制用户界面的时候会调用,此方法返回的必须是fragment的根视图.
public View onCreateView(final LayoutInflater inflater, final ViewGroup container,
final Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.contact_picker_fragment, container, false);
mRecipientTextView = (ContactRecipientAutoCompleteView\)
view.findViewById(R.id.recipient_text_view\);
.................................................................................
return view;
}
四. Fragment通信
- 在Fragment中调用Activity中的方法getActivity().
- 在Activity中调用Fragment中的方法 接口回调.
- 在Fragment中调用Fragment中的方法findFragmentById
五. Fragment的replace, add, remove方法.
分别是在Fragment栈里面进行replace,add,remove.一个栈元素.