1# Page Stack and MissionList 2 3 4## Page Stack 5 6A single UIAbility component can implement multiple pages and redirection between these pages. The redirection relationship inside the UIAbility component is called page stack, which is managed by the ArkUI framework. For example, Page1 -> Page2 -> Page3 of UIAbility1 and PageA -> PageB -> PageC of UIAbility2 in the figure below are two page stacks. 7 8 **Figure 1** Page stack 9![mission-record](figures/mission-record.png) 10 11- A page stack is formed as follows (Steps 2, 3, 5, and 6 are page redirection and managed by ArkUI): 12 1. Touch the icon on the home screen. The [startAbility](../reference/apis/js-apis-inner-application-uiAbilityContext.md#abilitycontextstartability) method is called to start UIAbility1, whose initial page is Page1. 13 14 2. Touch a button on Page1. The [Navigator](../reference/arkui-ts/ts-container-navigator.md) method is called to redirect you to Page2. 15 16 3. Touch a button on Page2. The [Navigator](../reference/arkui-ts/ts-container-navigator.md) method is called to redirect you to Page3. 17 18 4. Touch a button on Page3. The [startAbility](../reference/apis/js-apis-inner-application-uiAbilityContext.md#abilitycontextstartability) method is called to start UIAbility2, whose initial page is PageA. 19 20 5. Touch a button on PageA. The [Navigator](../reference/arkui-ts/ts-container-navigator.md) method is called to redirect you to PageB. 21 22 6. Touch a button on PageB. The [Navigator](../reference/arkui-ts/ts-container-navigator.md) method is called to redirect you to PageC. 23 24- The page stack return is as follows (Steps 1, 2, 4, and 5 are page redirection and managed by ArkUI): 25 1. Touch the **Back** button on PageC of UIAbility2 to return to PageB. 26 27 2. Touch the **Back** button on PageB of UIAbility2 to return to PageA. 28 29 3. Touch the **Back** button on PageA of UIAbility2 to return to Page3 of UIAbility1. 30 31 4. Touch the **Back** button on Page3 of UIAbility1 to return to Page2. 32 33 5. Touch the **Back** button on Page2 of UIAbility1 to return to Page1 of UIAbility1. 34 35 6. Touch the **Back** button on Page1 of UIAbility1 to return to the home screen. 36 37 38## MissionList 39 40As described above, you can keep touching the **Back** button on the page of Ability2 to return to a page of Ability1. The MissionList records the startup relationship between missions. If Ability1 starts Ability2 through **startAbility()**, a MissionList is formed: Ability1 -> Ability2. Therefore, when you touch the **Back** button on the initial page of Ability2, a page of Ability1 is displayed. 41 42The mission startup relationship recorded by the MissionList may be broken in the following cases: 43 44- A user moves a mission in the middle of the MissionList to the foreground. 45 ![mission-chain1](figures/mission-chain1.png) 46 47- A user deletes a mission in the MissionList. 48 ![mission-chain2](figures/mission-chain2.png) 49 50- A UIAbility singleton is repeatedly started by different missions. For example, AbilityB in the figure below is a singleton. 51 ![mission-chain3](figures/mission-chain3.png) 52