成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解TableView中圖片延時加載

移動開發 iOS
一次性從服務器上取來所有圖片對用戶來浪費流量,對服務器也是負擔,最好是按需加載,即當該用戶要瀏覽該條目時再去加載經常我們會用tableView顯示很多條目。

TableView圖片延時加載是本文要介紹的內容,經常我們會用tableView顯示很多條目,有時候需要顯示圖片。但是一次性從服務器上取來所有圖片對用戶來浪費流量,對服務器也是負擔,最好是按需加載,即當該用戶要瀏覽該條目時再去加載經常我們會用tableView顯示很多條目。

有時候需要顯示圖片, 但是一次從服務器上取來所有圖片對用戶來浪費流量,,對服務器也是負擔.最好是按需加載,即當該用戶要瀏覽該條目時再去加載它的圖片。

重寫如下方法

  1. - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath  
  2. {  
  3.     UIImage *image = [self getImageForCellAtIndexPath:indexPath];  //從網上取得圖片  
  4.     [cell.imageView setImage:image];  

這雖然解決了延時加載的問題, 但當網速很慢, 或者圖片很大時(假設,雖然一般cell中的圖很小),你會發現程序可能會失去對用戶的響應.

原因是

  1. UIImage *image = [self getImageForCellAtIndexPath:indexPath]; 

 這個方法可能要花費大量的時間,主線程要處理這個method,所以失去了對用戶的響應.

所以要將該方法提出來:

  1. - (void)updateImageForCellAtIndexPath:(NSIndexPath *)indexPath  
  2. {  
  3.     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];  
  4.     UIImage *image = [self getImageForCellAtIndexPath:indexPath];  
  5.     UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];  
  6.     [cell.imageView performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:NO];  
  7.     [pool release];  

然后再新開一個線程去做這件事情

  1. - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath  
  2. {  
  3.     [NSThread detachNewThreadSelector:@selector(updateImageForCellAtIndexPath:) toTarget:self withObject:indexPath];  

同理當我們需要長時間的計算時,也要新開一個線程 去做這個計算以避免程序處于假死狀態

以上代碼只是示例, 還可以改進的更多, 比如從網上down下來一次后就將圖片緩存起來,再次顯示的時候就不用去下載。

小結:詳解TableView圖片延時加載的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-18 17:20:21

IOS開發TableView圖片

2011-08-12 14:58:43

iPhoneTableview數據

2009-07-02 09:38:17

Hibernate延時

2022-01-04 16:50:47

JavaScript圖片網站

2011-07-25 15:32:06

iPhone Table 動態

2021-04-20 08:49:38

AndroidKotlinColi

2011-08-08 15:48:13

iPhone TableView 背景

2021-07-05 06:51:43

Java機制類加載器

2015-06-11 10:12:26

Android圖片加載緩存

2014-10-13 10:44:43

PCB布線

2011-06-24 16:41:14

QT OpenCV 框架

2013-06-27 11:16:27

Android異步加載

2011-07-06 16:15:46

iPhone 圖片

2011-07-22 13:30:52

JavaScript

2015-08-25 10:28:38

前端圖片延遲加載

2011-03-17 10:37:07

JavaScript

2017-11-08 14:34:20

圖片fresco程序員

2009-07-28 13:39:44

加載ViewStateASP.NET

2020-11-18 09:30:29

圖片懶加載前端瀏覽器

2022-08-13 12:13:13

RTOS延時代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 女女百合av大片一区二区三区九县 | 久久天堂网 | 蜜桃臀av一区二区三区 | 欧美一级免费观看 | 亚洲精品国产电影 | 伊人久久一区二区 | 久艹av| 欧美天堂 | 五月激情婷婷在线 | 欧美日本在线 | 成人在线免费视频 | 国产成人精品免高潮在线观看 | 久久精品小视频 | 国产一级免费视频 | 国产成人免费视频 | 亚洲欧美国产精品久久 | 九色91视频 | 国产综合在线视频 | 9191av| 色嗨嗨 | 欧美一区免费 | 国产视频一区二区在线观看 | 中文字幕视频网 | 天天操夜夜操 | 91亚洲精品在线 | 精品国产乱码久久久久久中文 | 成人免费视频网站在线观看 | 精品国产欧美 | 深夜爽视频 | 91精品国产综合久久久久久丝袜 | 成人国产精品久久 | 日韩 欧美 综合 | 国产一区二区在线看 | 日韩精品视频在线 | 精品日韩| 超碰在线亚洲 | 黄色大片免费看 | 久热中文字幕 | 91精品国产综合久久婷婷香蕉 | 久草高清视频 | 高清久久久 |