1 commitNow
commitNow - disallowAddToBackStack - execSingleAction - ensureExecReady - checkStateLoss- generateOps - optimizeAndExecuteOps -startTransitions - calculateFragments -addToFirstInLastOut -manager.moveToState(fragment, Fragment.CREATED,0,0,false) - 执行 onAttach 和 onCreate - 接着 就按照 Manager的 state 来执行 所有的生命周期。
在主线程 立即执行到 Manager的生命周期 剩下没有执行的 则跟随主活动的生命周期 执行
2 commit
commit - disallowAddToBackStack - execPeddingAction - ensureExecReady - checkStateLoss- generateOps - optimizeAndExecuteOps -startTransitions - calculateFragments -addToFirstInLastOut -manager.moveToState(fragment, Fragment.CREATED,0,0,false) 。。。。
和 commitNow 不同的是 他放到messagequene里 顺序执行 不是 立即执行
网友评论