tableView的優化方法

一、異步加載圖片:html

     在ios

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

方法中這樣判斷:緩存

if (tableView.dragging == NO && tableView.decelerating == NO) {
    //異步加載圖片
}

而且在異步

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

優化

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

方法中進行異步加載圖片spa

二、緩存cell高度,實現cell高度計算與cell的內容展現的分離.net

    具體實現就是在cell的數據模型中計算cell所需高度,爲數據模型增長一個高度的屬性,計算完成後賦值,而後在code

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

中取出cell相應模型中的高度,賦值,而在htm

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

中只負責cell內容的展現,再也不負責計算。圖片

參考連接:

tableView優化

tableView優化2


三、當每一行的cell高度一致的時候使用屬性設置cell的高度

// 當每一行的cell高度一致的時候使用屬性設置cell的高度     
   self.tableView.rowHeight = 160;

四、減小不透明視圖的使用

      不透明的視圖能夠極大地提升渲染的速度。所以如非必要,能夠將table cell及其子視圖的opaque屬性設爲YES(默認值)。
其中的特例包括背景色,它的alpha值應該爲1(例如不要使用clearColor);圖像的alpha值也應該爲1,或者在畫圖時設爲不透明。

五、繪製

參考:預渲染加速圖像的顯示

相關文章
相關標籤/搜索