單例模式:確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。
特點: 1.建構函式不對外開放,一般為private;
2.通過乙個靜態方法或者列舉返回單例類物件;
3.確保單例類的物件有且只有乙個,尤其是在多執行緒環境下。
4.確保單例類物件在反序列化時不會重新構建物件。
2.1 餓漢式(在宣告的時候初始化)
public
class
singleton
public
static
singleton
getintance()
}
2.2 懶漢式(呼叫的時候建立,推薦)
public
class
singleton
public
static
singleton
getinstance()
}}return singleton;
}
2.3靜態內部類(推薦)
public
class
singleton
public
static
singleton
getinstance()
private
static
class
singletonholder
}
需要頻繁的進行建立和銷毀的物件;
建立物件時耗時過多或耗費資源過多,但又經常用到的物件;
工具類物件;
頻繁訪問資料庫或檔案的物件。
在android系統中,通過context獲取系統級別的服務,如windowmanagerservice,activitymanagerservice等,常用是layoutinflater,這些服務會在合適的時候以單例的形式註冊在系統中,這些服務會在合適的時候以單例的形式註冊在系統中,在我們需要的時候通過context的getsystemservice(string name)獲取。
public
static
layoutinflater
from
(context context)
return
layoutinflater
;}
Android 常用單例模式簡單介紹
方式一 instance 單例初始值是null,還未構建,則構建單例物件並返回 是懶漢模式 執行緒不安全 instance 單例物件一開始就被new 出來,主動構建,則不需要判空操作 是餓漢模式 執行緒安全 private zpdanlidemo private static zpdanlidemo...
單例模式介紹
使用單例模式有乙個必要條件 在乙個系統要求乙個類只有乙個例項時才應當使用單例模式。單例模式又分為餓漢式和懶漢式。1.餓漢式 public class singleton 靜態工廠方法 public static singleton getinstance 單例類的乙個最重要的特點是類的構造器是私有的...
單例模式介紹
簡單來說就是建立物件時無論怎麼建立都只有乙個例項物件 介紹 只有在用到這個物件的時候才會去建立這個物件。存在問題 執行緒不安全,當使用多執行緒時會出現建立多個物件的情況。演示 public class bbb 建立靜態bbb物件 private static bbb bbb null 建立獲得bbb...