鑌哥哥,初步寫一些自己對於lazyload的看法。這篇文章主要針對普通view,的的懶載入,以及一些相關介紹。
懶載入,又稱為延遲載入。通常用法,你有乙個uitextfield型別的property,簡單定義為myusernametextfield,但是你不在初始化方法裡為其alloc/init,它就只是乙個指標,不會占用記憶體。
只是載入到你預想載入到的view上。如:[self addsubview:self.myusernametextfield];//其中self為view,.usernametextfield為你宣告的屬性名字。
顯而易見的是,以上的指定是在view初始化的時候完成的。
另外最重要的一點是,
上面在空載入的時候,一定要使用點語法
,也就是咱們所說的
getter
方法。
然後呢?
1:就需要我們重寫usernametextfield的getter方法了。重寫方法:
- (uitextfield *)myusernametextfield//這就是懶載入(用到的時候才去呼叫,在本地儲存,資料請求的時候經常用到)
return _usernametextfield;
}
2
:最後建議大家將frame的設定寫到layoutsubviews之中,**如下
- (void)layoutsubviews
鑌哥哥為了大家更容易理解為什麼要呼叫layoutsubview,專門寫了相關的介紹,方便大家理解:
layoutsubviews在以下情況下會被呼叫:
1、init初始化不會觸發layoutsubviews
2、addsubview會觸發layoutsubviews
3、設定view的frame會觸發layoutsubviews,當然前提是frame的值設定前後發生了變化
4、滾動乙個uiscrollview會觸發layoutsubviews
5、旋轉screen會觸發父uiview上的layoutsubviews事件
6、改變乙個uiview大小的時候也會觸發父uiview上的layoutsubviews事件
最終達到的效果就是,除非這個物件被使用,否則它永遠不會真正生成,也就不會占用記憶體。
記住:其他lazyload的思想都是這樣:拖到最後一刻,萬不得已了,才開始占用資源,這在iphone這種記憶體較少的裝置上是很有必要的。
iOS中的懶載入
通俗一點就是用到時再載入,而且只載入一次,其實就是所謂的重寫物件的get方法,當系統或者開發者呼叫物件的get方法時,再去載入物件。實現 重寫get方法時,先判斷物件當前是否為空,為空的話再去例項化物件 使用懶載入的好處 inte ce viewcontroller property nonatom...
IOS中的懶載入lazyLoad
初步寫一些自己對於lazyload的看法吧。這篇文章主要針對普通view,對於image相關的的懶載入,準備過幾天研究一下在寫。懶載入,又稱為延遲載入。通常用法,你有乙個uitextfield型別的property,簡單定義為usernametextfield,但是你不在初始化方法裡為其alloc ...
工作中遇到的懶載入問題
1 懶載入 懶載入 lazyload 一直是前端的優化方案之一。它的核心思想是 當使用者想看頁面某個區域時,再載入該區域的資料。這在一定程度上減輕了伺服器端的壓力,也加快了頁面的呈現速度。2 遇到的問題 專案中乙個事務之間才可以完美的實現懶載入,而我操作的是兩個事務,所以出現了空指標異常的問題。解決...