Android Activity的啟動模式

2021-09-29 19:11:52 字數 674 閱讀 6239

通常在實際專案中我們應該根據特定的需求為每個活動指定合適的啟動模式。

啟動模式一共有四種,分別是standard、singletop、singletask、singleinstance。可以在androidmanifest.xml中通過給標籤指定android:laumchmode屬性來選擇啟動模式。下面我將逐個介紹。

stand是活動預設的啟動模式,在不進行顯式指定的情況下,所有活動都會自動使用這種啟動模式。在stand模式下,每當啟動乙個新的活動,它就會在返回棧中入棧,並處於棧頂的位置。每次啟動都會建立該活動的乙個新的例項。

該模式下,如果發現返回棧的棧頂已經是該活動,則認為可以直接使用它,不會再建立新的活動例項。

該模式下,每次啟動該活動時系統首先會在返回棧中檢查是否存在該活動的例項,如果發現已經存在則直接使用該例項,並把這個活動之上的所有活動統統出棧,如果沒有發現就會建立乙個新的活動例項。

四種啟動模式中最為特殊也最複雜的乙個,指定為singleinstance模式的活動會啟用乙個新的返回棧來管理這個活動。

應用場景

假設我們的程式中有乙個活動是允許其他程式呼叫的,如果我們想實現其他程式和我們的程式可以共享這個活動的例項,就可以使用這種模式。在這種模式下會有乙個單獨的返回棧來管理這個活動,不管是哪個應用程式來訪問這個活動,都共用的同乙個返回棧,也就解決了共享活動例項的問題。

android activity啟動模式

1.標準模式 standrad 沒啟動乙個activity,都會建立乙個activity例項,放入回退棧的內部 2.單頂模式 singletop 當啟動launchmode是 singletop的時候,系統會先判斷棧頂是不是要啟動的那個activity例項,如果是,則不會建立新的例項,直接讓棧頂直接...

Android Activity啟動模式

在androidmanifest.xml中配置 android name mainactivity android launchmode standard 有以下四種 standard 預設模式,每次通過intent啟動activity時都會建立乙個新的activity例項,並放入任務棧中。sing...

android Activity切換動畫

今天準備比賽的時候 遇到了這個問題。查了些資料總結了下。主要是通過 android theme 標籤來實現 android theme style 那麼就需要自己寫style風格檔案 如下 這裡之所以寫成2style個是為了解耦然後自己寫下anim anim enter anim anim exit...