Если вы думаете о заднем стеке активности как о двух уровнях, может быть легче понять назначение ActivityStack. Android поддерживает launchMode и taskAffinity для размещения действий в различных TaskRecords. Но даже действия помещаются в разные TaskRecords, он поддерживает кнопку «Назад», чтобы вернуться к предыдущему действию. Поэтому, когда вы запускаете действие, которое должно быть в новом TaskRecord, затем нажимается кнопка «Назад», он переключается на верхнюю активность предыдущего TaskRecord. Таким образом, ActivityStack больше похож на стек TaskRecord, а TaskRecord больше похож на стек действий внутри TaskRecord, однако, вообще говоря, ActivityStack управляет всплывающей последовательностью, и вы можете сказать, что это непрямой стек действий.
А создание ActivityStack, кажется, логически облегчает управление в среде с несколькими окнами. Если вы активируете свободную форму в Android, каждое запущенное приложение в оконном режиме имеет свой собственный стек свободной формы, а каждый стек имеет свой собственный задний стек.
Мой 2с.