iOS UITableviewCell優化php
0.Cell必須重用html
1.把Cell的opaque設置爲YESobjective-c
2.多種樣式的Cell分開寫ide
3.儘可能提早初始化好要用到的UI不要每次更新頁面的時候都要建立和刪除oop
4.儘可能定高,若是動態算高度儘可能不要用到UIKit的東西計算優化
5.若是直接用IB加載的話儘可能用- (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(5_0);動畫
6.若是高度變化切計算高度耗時間,能夠用一個變量來記錄當前cell的高已到達複用的效果spa
7.若是圖片過多滑動的時候儘可能延遲加載圖片orm
轉自: http://www.starming.com/index.php?v=index&view=74htm
利用CFRunLoopMode的特性,能夠將圖片的加載放到NSDefaultRunLoopMode的mode裏,這樣在滾動UITrackingRunLoopMode這個mode時不會被加載而影響到。
UIImage *downloadedImage = ...;
[self.avatarImageView performSelector:@selector(setImage:) withObject:downloadedImage afterDelay:0 inModes:@[NSDefaultRunLoopMode]];
-----------------------------------------知識補充---------------------------------------------
alpha支持Animation(動畫), hidden和opaque不支持動畫
hidden相比alpha開銷小,alpha=0透明開銷大,若是效果同樣,用hidden好一點.
hideen的時候view是不接收事件的,但alpha爲0時View能夠接收事件.
當把View設置爲透明的背景時,通常把opaque設置爲YES,能夠減小開銷,對內存也好.