使用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通信

  1. 在Fragment中调用Activity中的方法getActivity().
  2. 在Activity中调用Fragment中的方法 接口回调.
  3. 在Fragment中调用Fragment中的方法findFragmentById

五. Fragment的replace, add, remove方法.

分别是在Fragment栈里面进行replace,add,remove.一个栈元素.

results matching ""

    No results matching ""