Activity棧 單例模式

2021-07-03 20:50:06 字數 849 閱讀 9147

每個activity的狀態是由它在activity棧(是乙個後進先出lifo,包含所有正在執行activity的佇列)中的位置決定的。

一、懶漢式單例

1. //懶漢式單例類.在第一次呼叫的時候例項化自己 

2. public

class singleton   

5.     //注意,這裡沒有final    

6.     private

static singleton single=null;  

7.     //靜態工廠方法 

8.     public

static singleton getinstance()     

12.         return single;  

13.     }  

14. }  

但是以上懶漢式單例的實現沒有考慮執行緒安全問題,它是執行緒不安全的,併發環境下很可能出現多個singleton例項

二、餓漢式單例

1. //餓漢式單例類.在類初始化時,已經自行例項化 

2. public

class singleton1   

5.     //已經自行例項化 

6.     private

static

final singleton1 single = new singleton1();  

7.     //靜態工廠方法 

8.     public

static singleton1 getinstance()   

11. }  

餓漢式在類建立的同時就已經建立好乙個靜態的物件供系統使用,以後不再改變,所以是執行緒安全的。

activity 啟動模式

在android的中activity 有4種啟動方式 standard singletop singletask singleinstance 下面就分輕重點講講這些啟動方式。1 standard啟動方式 這種方式也是系統預設的。說的簡單點,我們在使用startactivity 方法的時候,系統就會...

activity啟動模式

1 對於使用standard 模式的活動,系統不會在乎這個活動是否已經在返回棧中存在,每次啟動都會建立該活動的乙個新的例項。例如a啟動a,a再接著啟動a,a繼續啟動a,然後再分別出棧,如圖所示 2 當活動的啟動模式指定為 singletop,在啟動活動時如果發現返回棧的棧頂已經是該活動,則認為可以直...

Activity啟動模式

兩種方式可以定義activity啟動模式 manifest intent intent定義的啟動模式優先於manifest 不管activity執行在乙個新的任務還是與啟動它的activity同樣的任務,返回鍵總是把使用者帶到之前的activity。然而,如果啟動乙個singletask的activ...