懶加載與單例的區(qū)別

  • 懶加載——也稱為延遲加載,即在需要的時候才加載(效率低,占用內存小)。所謂懶加載,寫的是其get方法.

注意:如果是懶加載的話則一定要注意先判斷是否已經(jīng)有了,如果沒有那么再去進行實例化。

  • 使用懶加載的好處:

(1)不必將創(chuàng)建對象的代碼全部寫在viewDidLoad方法中,代碼的可讀性更強
(2)每個控件的getter方法中分別負責各自的實例化處理,代碼彼此之間的獨立性強,松耦合


單例模式是一種常見的設計模式。“單”是指唯一性,“例”是指實例化對象,也就是使某個類的一個對象成為系統(tǒng)中的唯一實例。

單例是指靜態(tài)分配的實例,而iphone sdk 中全是這種實例,例如[UIApplication sharedApplication] 返回一個指向代表應用程序的單例對象的指針。[UIDevice currentDevice] 獲取一個代表所有使用硬件平臺的對象。
將類方法與單例相結合,便可以在程序的任何地方訪問靜態(tài)實例,而無需使用指向對象的指針或保存它的實例變量。

  • 這樣有什么優(yōu)點呢?

1.在內存中只有一個對象,節(jié)省內存空間。
2.避免頻繁的創(chuàng)建銷毀對象,可以提高性能。
3.避免對共享資源的多重占用。
4.可以全局訪問。


  • 實例化的類一般都是有自己的內部數(shù)據(jù)有自己的生存周期,內部一系列的復雜的邏輯或數(shù)據(jù)處理.因此各個實例化后的對象之間互不相干,獨立運行.
  • 至于靜態(tài)方法一般都是進行一系列比較單一的數(shù)據(jù)處理,這些數(shù)據(jù)往往都是由外部傳過來,進行相應的操作后返回.他不需要維護比較復雜的生命周期,方法調用完后就跟他沒什么關系了.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 單例模式(SingletonPattern)一般被認為是最簡單、最易理解的設計模式,也因為它的簡潔易懂,是項目中最...
    成熱了閱讀 4,545評論 4 34
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,159評論 25 708
  • 從三月份找實習到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍閱讀 42,818評論 11 349
  • 我認識你在遙遠的過去,遺忘你用盡未知的明天,期望在最后的日子記不起過往,卻丟失在途中。我來自過去,去往未來,等在終...
    涼城北望閱讀 318評論 0 0
  • “做茶”是我家鄉(xiāng)的土話,它與城市里流行的品茶不同,品茶是一件很雅的事,而做茶,絕對是凡俗生活中的一件俗之又俗的事。...
    繁花落盡深眸閱讀 1,184評論 2 7

友情鏈接更多精彩內容