/**
* Detaches the {@param childFactory} from the current {@link Interactor}. NOTE: No consumers of
* this API should ever keep a reference to the detached child router, leak canary will enforce
* that it gets garbage collected.
*
* <p>If you need to keep references to previous routers, use {@link RouterNavigator}.
*
* @param childRouter the {@link Router} to be detached.
*/
@MainThread
protected void detachChild(Router childRouter) {
children.remove(childRouter);
Interactor interactor = childRouter.getInteractor();
ribRefWatcher.watchDeletedObject(interactor);
ribRefWatcher.logBreadcrumb(
"DETACHED", childRouter.getClass().getSimpleName(), this.getClass().getSimpleName());
if (savedInstanceState != null) {
Bundle childrenBundles =
checkNotNull(savedInstanceState.getBundleExtra(KEY_CHILD_ROUTERS));
childrenBundles.putBundleExtra(childRouter.tag, null);
}
childRouter.dispatchDetach();
}
Router.java 文件源码
java
阅读 48
收藏 0
点赞 0
评论 0
项目:RIBs
作者:
评论列表
文章目录