繁体   English   中英

android stack真正如何工作?

[英]How does android stack really work?

我尝试使用以下代码退出具有多个活动的应用程序:

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();

根据我的理解,在这段代码中,第一行清除了堆栈。 这意味着在执行第一行之后,应用程序前面没有任何活动。 为了检查我的理解,我在两行代码之后添加了Toast文本来检查。 但是,吐司文本显示在应用程序中,并且仅第二项活动已关闭。

我想了解以上代码的工作方式。

使用Intent.FLAG_ACTIVITY_CLEAR_TOP的方式是在开始活动时使用它:

    Intent intent = new Intent(this, SecondActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);

然后发生的事情是,在所有其他活动均被销毁之后,第二个活动被启动-堆栈被清除。 如果要关闭所有活动,则可以使用finishAffinity(),但仅在api 16及更高版本中受支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM