前言
很高兴见到你 ????
「Fragment多返回栈」是一个新的系列,主要追踪官方对 Fragment 多返回栈这一功能的实现过程,透过该过程,我们可以学习官方面对一个新功能是如何进行开发的。
本文是该系列的开篇,内容分为三部分:
简单介绍 Fragment 返回栈,并说明单返回栈与多返回栈的实现方式
简单解释 Navigation 所谓的重建 bug
简单梳理官方对此多返回栈功能支持的规划
本文对上述内容均是简单介绍,使用图片的方式形象地表述该部分内容(为此专门学习了 Sketch ????,我这么拼你好意思不点赞嘛?????)。
关于源码详解,以及官方对此多返回栈功能支持全部时间线,可参考我之前的文章 【背上Jetpack之Navigation】想去哪就去哪,Android世界的指南针。
OK,让我们开始吧~
Fragment 还有返回栈?
提到返回栈,大多数小伙伴应该想到 Activity 返回栈。其实 Fragment 也是有返回栈的。关于 Fragment 的源码解析可以参考我之前写的 从源码的角度看Fragment 返回栈 附多返回栈demo。
简单总结一下 Fragment 的返回栈:
使用 addToBackStack() 方法可以将 Fragment 添加到返回栈。其内部将 mAddToBackStack
赋值为 true。