1. 程式人生 > >Android 任務棧&activity的啟動模式

Android 任務棧&activity的啟動模式

1.一個應用程式一般都是由多個activity組成的。
2.任務棧(task stack)(別名back stack後退棧) 記錄存放使用者開啟的activity的。
3.一個應用程式一被開啟系統就給他分配一個任務棧,當所有的activity都退出的時候,任務棧就清空了。
4.任務棧的id是一個integer的資料型別 自增長的。
5.在android作業系統裡面會存在多個任務棧,一個應用程式一個任務棧。
6.桌面應用和一般的應用程式是一樣的,任務棧的行為也是一樣。
7.預設情況下, 關閉掉一個應用程式,清空了這個應用程式的任務棧。應用程式的程序還會保留。

為什麼要引入任務棧的概念?
windows下 可以通過點選工作列 切換任務
android下 長按小房子 切換任務

為了記錄使用者開啟了那些activity,記錄這些activity開啟的先後順序,google引入任務棧(task stack)概念,幫助維護好的使用者體驗。

activity的啟動模式:

  1. standard 預設標準的啟動模式, 每次startActivity都是建立一個新的activity的例項。

          適用於絕大大數情況
    
  2. singleTop 單一頂部,如果要開啟的activity在任務棧的頂部已經存在,就不會建立新的例項,
    而是呼叫 onNewIntent() 方法。

          應用場景: 瀏覽器書籤。 避免棧頂的activity被重複的建立,解決使用者體驗問題。
    
  3. singletask 單一任務棧 , activity只會在任務棧裡面存在一個例項。如果要啟用的activity,在
    任務棧裡面已經存在,就不會建立新的activity,而是複用這個已經存在的activity,
    呼叫 onNewIntent() 方法,並且清空當前activity任務棧上面所有的activity。
    應用場景:瀏覽器activity, 整個任務棧只有一個例項,節約記憶體和cpu的目的
    注意: activity還是執行在當前應用程式的任務棧裡面的。不會建立新的任務棧。

  4. singleInstance 單態 單例模式

          單一例項,整個手機作業系統裡面只有一個例項存在。不同的應用去開啟這個activity共享 公用的同一個activity。 他會執行在自己單獨,獨立的任務棧裡面,並且任務棧裡面只有他一個例項存在。
    
        應用場景:呼叫來電介面 InCallScreen
    

相關推薦

Android零基礎入門第77節:Activity任務啟動模式

csdn rpi activit 元素 進入 see 簡單 auto mar 通過前面的學習,Activity的基本使用都已掌握,接下來一起來學習更高級的一些內容。 Android采用任務棧(Task)的方式來管理Activity的實例。當啟動一個應用時,A

Android 任務&activity啟動模式

1.一個應用程式一般都是由多個activity組成的。 2.任務棧(task stack)(別名back stack後退棧) 記錄存放使用者開啟的activity的。 3.一個應用程式一被開啟系統就給他分配一個任務棧,當所有的activity都退出的時候,任

Android-intent.addFlags-Activity啟動模式

之前寫的Android-Activity啟動模式(launchMode),Android-Activity啟動模式-應用場景,講解的都是在AndroidManifest.xml配置launchMode="四種啟動模式" Activity啟動模式分為四種:      如果不配置:launchMode,預設

Android歸納】Activity啟動模式

1、對於使用standard 模式的活動,系統不會在乎這個活動是否已經在返回棧中存在,每次啟動都會建立該活動的一個新的例項。 例如A啟動A,A再接著啟動A,A繼續啟動A,然後再分別出棧,如圖所示

android任務activity四種啟動模式

一、android任務棧 棧:先進後出 佇列:先進先出  任務棧Task中:開啟一個Activity叫進棧 關閉一個activit出棧  任務棧是用來維護Activity的、是用來維護使用者

Activity 啟動模式任務管理

什麼是任務棧 Android系統中,Activity代表一個個視窗,負責直接和使用者進行互動。一個應用包含很多的視窗即Activities,同時可以從這個應用去開啟存在於其他應用中的activities例如從Photo應用要分享一張照片到朋友圈,則會通過當前的

Activity啟動模式&任務

Activity啟動模式設定:         <activity android:name=".MainActivity" android:launchMode="standard" /> Activity的四種啟動模式: 1. standard     

Android activity啟動模式和intent flag屬性詳解

一、Activity棧的概念        1.每個app應用程式啟動的activity都會儲存在一個單獨的棧裡面。        2.有可能某個activity發生棧轉移。二、acitivity的

Activity啟動模式任務(Task)全面深入記錄(上)

任務棧簡單入門   最近又把兩本進階書看了一遍,但總感覺好記性不如爛筆頭,所以還是決定通過部落格記錄一下,我們將分兩篇來全面深入地記錄Activity 啟動模式與任務棧的內容。 android任務棧簡單瞭解 1. android任務棧又稱為Ta

Android Activity 啟動模式

.aspx art www 設置 instance ini cnblogs 順序 http Android啟動模式也就是Activity任務棧的運行模式:任務棧是用來存儲Activity的 在AndroidManifest.xml中的標簽

Android-Activity啟動模式(launchMode)

Activity啟動模式是非常重要的一塊內容,啟動模式直接關係到使用者的體驗 和 效能的提升等   Activity啟動模式分為四種:      如果不配置:launchMode,預設就是:standard 標準的   standard 標準的   singleTop 獨佔頂端   s

Android-Activity啟動模式-應用場景

在上一篇部落格中,Android-Activity啟動模式(launchMode),就介紹了Activity四種啟動模式的特點與使用等,但是到底什麼樣子的場景,去使用什麼樣子的啟動模式呢     Activity啟動模式分為四種:      如果不配置:launchMode,預設

Android四大元件之Activity-啟動模式

1.Activity的啟動模式 當我們多次呼叫同一個Activity時,系統會重複建立多個例項並把它們一一放入任務棧中,這種方式顯然不符合我們的設計要求。所以Android在設計時就提供了四種啟動模式來解決此問題。 四種啟動模式分別如下: standard-標

android Activity 啟動模式 應用場景

棧的原理:先進後出,後進先出。所有操作都發生在棧頂。 首先介紹一下任務棧: (1)程式開啟時就建立了一個任務棧, 用於儲存當前程式的activity,所有的activity屬於一個任務棧。  (2)一個任務棧包含了一個activity的集合, 去有序的選擇哪一個activ

Android Activity啟動模式設定為SingleTask需要注意的地方

Android Activity啟動模式設定為SingleTask需要注意的地方 當Activity跳轉到啟動模式為SingleTask的Activity的時候,onRestart()不再回調,而是回撥 onNewInstance(Intent intent) 方法,其中引數可

Android Activity啟動模式的設定

    Android為了使我們能夠打破預設的堆疊的先後出的模式,提供了兩個種方式:一種是在AndroidManifest.xml定義Activity時指定它的載入模式,另一種是在用Intent開啟一個Activity時,在Intent中加入標誌。如果兩種方式都用了,則後

[Android]當Activity啟動模式為singleTask時的生命週期

01-09 22:59:24.317 13063-13063/com.dongua.activitytest I/Activity1: onCreate: 01-09 22:59:24.319 130

Android入門——四大元件之Activity啟動模式

standrad singleTop singleTask singleInstance 在AndroidManifest.xml中通過中設定 <activity android:name=".MainActivity" android:l

Android任務的四種模式和應用場景

通過Acitivty的xml標籤來改變任務棧的預設行為 在清單檔案中使用android:launchMode="standard|singleInstance|singleTask|singleT

Activity啟動模式的深入分析

啟用 ide net 啟動模式 soft adding class 任務 新的 網上關於Activity啟動模式的文章許多。可是看起來都千篇一律,看完之後我們都能理解這4種啟動模式。只是官方api對singleTask這個啟動模式解釋有些爭議,導致我事實