簡體   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