對安卓而言,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...