Fragment究其原理
深入理解FragmentManager、FragmentTransaction
FragmentTransaction的4种提交方式
commit(): 如果宿主执行了
onSaveInstanceState
之后再执行该操作,会抛出异常。属于异步事务。commitAllowingStateLoss(): 如果宿主执行了
onSaveInstanceState
之后再执行该操作,不回去检查宿主状态,不会抛出异常。但该操作不会被Activity记录,恢复时也就没办法恢复这些操作,所以该操作适用不重要的事务。同属于异步事务。commitNow(): 会立刻执行当前提交的
transaction
事务。属于同步事务。commitNowAllowStateLoss(): 具备以上两者的特性,即时同步执行,也不会检查宿主的状态,有可能操作不会被正确恢复。