這是關(guān)于性能優(yōu)化的懶加載方面贡翘。
懶加載
1.app僅運行當前必要的工作蝇庭。app運行的每一刻都應(yīng)該是響應(yīng)用戶的當前請求吼旧,而不是猜測預(yù)言到的未來請求梨与。假如你當前不需要某種資源(比如一個包涵偏好設(shè)置窗口的nib文件)堕花,不要加載它。類似這種行為因為訪問文件系統(tǒng)粥鞋,而導(dǎo)致耗時缘挽。并且如果用戶永遠沒有使用這個窗口,加載nib文件的過程就是浪費時間呻粹。
2.僅當用戶請求時壕曼,才會加載必要資源。僅應(yīng)該在app可以得到明顯優(yōu)化的條件下等浊,緩存數(shù)據(jù)腮郊。基于app之后的操作運行更快的假設(shè)下筹燕,遇到低內(nèi)存情況轧飞,進行預(yù)加載緩存明顯降低性能。在這種情況下撒踪,在使用緩存數(shù)據(jù)之前过咬,緩存的數(shù)據(jù)可能要切換入磁盤。因此糠涛,從緩存數(shù)據(jù)獲得的好處會轉(zhuǎn)換為損失援奢,因為數(shù)據(jù)在使用之前,需要從磁盤讀入2次忍捡。如果確實要進行緩存集漾,在操作執(zhí)行過一次之后進行緩存。
其他關(guān)于懶加載砸脊,包含以下:
1.延遲內(nèi)存開辟直到確實需要
2.不要零初始化內(nèi)存快具篇。調(diào)用calloc方法可達到懶加載目的
3.提供系統(tǒng)懶加載代碼的機會。分析并組織代碼使得系統(tǒng)僅加載當前操作需要的代碼
4.延遲文件的讀取直到確實需要