1.懶加載基本
懶加載——也稱為延遲加載,即在需要的時候才加載(效率低,占用內存小)。所謂懶加載,寫的是其getter方法。說的通俗一點,就是在開發中,當程序中需要利用的資源時。在程序啟動的時候不加載資源,只有在運行當需要一些資源時,再去加載這些資源。
我們知道iOS設備的內存有限,如果在程序在啟動后就一次性加載將來會用到的所有資源,那么就有可能會耗盡iOS設備的內存。這些資源例如大量數據,圖片,音頻等等,所以我們在使用懶加載的時候一定要注意先判斷是否已經有了,如果沒有那么再去進行實例化
2.使用懶加載的好處:
(1)不必將創建對象的代碼全部寫在viewDidLoad方法中,代碼的可讀性更強
(2)每個控件的getter方法中分別負責各自的實例化處理,代碼彼此之間的獨立性強,松耦合
(3)只有當真正需要資源時,再去加載,節省了內存資源。
3.代碼示例
例如應用的登陸界面通常是Lable和textField相結合我們自定義一個LTView類包含titleLable屬性和textField屬性
然后我們通過重寫屬性的getter方法可以完成lazy loading(懶加載)模式,使用lazy loading可以將代碼按照模塊封裝,同時提高類的靈活度,也可以在一定時期內節省內存的使用,對于當前的LTView,使用lazy loading表示我提供了兩個子視圖,如果需要使用,秩序調用getter方法既可以顯示該子視圖,如果不需要,LTView就是一個空的視圖
提醒:這是蘋果公司提倡的做法。其實蘋果公司做的IOS系統中很多地方都用到了懶加載的方式,比如控制器的View的創建。
新聞熱點
疑難解答