Android Activity的四種啟動模式

2021-07-29 15:25:57 字數 1407 閱讀 5102

對安卓而言,activity有四種啟動模式,它們是:

- standard 標準模式,每次都新建乙個例項物件

- singletop 如果在任務棧頂發現了相同的例項則重用,否則新建並壓入棧頂

- singletask 如果在任務棧中發現了相同的例項,將其上面的任務終止並移除,重用該例項。否則新建例項併入棧

- singleinstance 允許不同應用,程序執行緒等共用乙個例項,無論從何應用呼叫該例項都重用

想要感受一下的話寫乙個小demo,然後自己啟動自己再點返回鍵就看出來了。下面詳細說說每一種啟動模式

首先先介紹一下任務棧

每個應用都有乙個任務棧,是用來存放activity的,功能類似於函式呼叫的棧,先後順序代表了activity的出現順序;比如activity1–>activity2–>activity3,則任務棧為:

模式一:

什麼配置都不寫的話就是這種啟動模式。但是每次都新建乙個例項的話真是過於浪費,為了優化應該盡量考慮餘下三種方式。

模式二:

每次掃瞄棧頂,如果在任務棧頂發現了相同的例項則重用,否則新建並壓入棧頂。

配製方法實在mainifest.xml中進行:

android:name=".singletopactivity"

android:label="@string/singletop"

android:launchmode="singletop" >

activity>

模式三:

與singletop的區別是singletask會掃瞄整個任務棧並制定策略。

模式四:

上說明圖:

配製方法:

android:name=".singletopactivity"

android:label="@string/singletop"

android:launchmode="singletop" >

activity>

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...