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