一、異步加載圖片: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內容的展現,再也不負責計算。圖片
參考連接:
三、當每一行的cell高度一致的時候使用屬性設置cell的高度
// 當每一行的cell高度一致的時候使用屬性設置cell的高度 self.tableView.rowHeight = 160;
四、減小不透明視圖的使用
不透明的視圖能夠極大地提升渲染的速度。所以如非必要,能夠將table cell及其子視圖的opaque屬性設爲YES(默認值)。
其中的特例包括背景色,它的alpha值應該爲1(例如不要使用clearColor);圖像的alpha值也應該爲1,或者在畫圖時設爲不透明。
五、繪製
參考:預渲染加速圖像的顯示