
图中的活动2 就新开了活动栈按下 Back 键进行返回, 发现 ThirdActivity直接返回到了 FirstActivity,再按下 Back 键又会返回到 SecondActivity,再按下 Back 键才会退出程序,这是为什么呢?其实原理很简单,由于 FirstActivity 和ThirdActivity 是存放在同一个返回栈里的,当在ThirdActivity 的界面按下Back 键,ThirdActivity会从返回栈中出栈,那么 FirstActivity就成为了栈顶活动显示在界面上,因此也就出现了从 ThirdActivity 直接返回到FirstActivity 的情况。然后在 FirstActivity 界面再次按下Back 键,这时当前的返回栈已经空了,于是就显示了另一个返回栈的栈顶活动,即 SecondActivity。最后再次按下Back 键,这时所有返回栈都已经空了,也就自然退出了程序新闻热点
疑难解答