BackStackRecord:fragment回退栈,继承自FragmentTransaction,并且实现了OpGenerator接口,OpGenerator接口用来添加或弹出事务的,后面会提到。
从《Android:从源码看FragmentManager如何工作》文章知道,每次beginTransaction会创建一个BackStackRecord对象,改对象持有fragmentManager对象,实际为FragmentManagerImpl对象实例。
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();//FragmentManagerImpl.javapublic FragmentTransaction beginTransaction() {return new BackStackRecord(this);}
而FragmentManagerImpl中又维护着一个BackStackRecord列表。
ArrayList<BackStackRecord> mBackStack;
这篇文章来看看BackStackRecord中几个重要的方法。其中add,hide,show等方法调用参考《