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

詳解TableView中圖片延時(shí)加載

移動(dòng)開發(fā) iOS
一次性從服務(wù)器上取來所有圖片對用戶來浪費(fèi)流量,對服務(wù)器也是負(fù)擔(dān),最好是按需加載,即當(dāng)該用戶要瀏覽該條目時(shí)再去加載經(jīng)常我們會(huì)用tableView顯示很多條目。

TableView圖片延時(shí)加載是本文要介紹的內(nèi)容,經(jīng)常我們會(huì)用tableView顯示很多條目,有時(shí)候需要顯示圖片。但是一次性從服務(wù)器上取來所有圖片對用戶來浪費(fèi)流量,對服務(wù)器也是負(fù)擔(dān),最好是按需加載,即當(dāng)該用戶要瀏覽該條目時(shí)再去加載經(jīng)常我們會(huì)用tableView顯示很多條目。

有時(shí)候需要顯示圖片, 但是一次從服務(wù)器上取來所有圖片對用戶來浪費(fèi)流量,,對服務(wù)器也是負(fù)擔(dān).最好是按需加載,即當(dāng)該用戶要瀏覽該條目時(shí)再去加載它的圖片。

重寫如下方法

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

這雖然解決了延時(shí)加載的問題, 但當(dāng)網(wǎng)速很慢, 或者圖片很大時(shí)(假設(shè),雖然一般cell中的圖很小),你會(huì)發(fā)現(xiàn)程序可能會(huì)失去對用戶的響應(yīng).

原因是

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

 這個(gè)方法可能要花費(fèi)大量的時(shí)間,主線程要處理這個(gè)method,所以失去了對用戶的響應(yīng).

所以要將該方法提出來:

  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];  

然后再新開一個(gè)線程去做這件事情

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

同理當(dāng)我們需要長時(shí)間的計(jì)算時(shí),也要新開一個(gè)線程 去做這個(gè)計(jì)算以避免程序處于假死狀態(tài)

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

小結(jié):詳解TableView圖片延時(shí)加載的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-08-18 17:20:21

IOS開發(fā)TableView圖片

2011-08-12 14:58:43

iPhoneTableview數(shù)據(jù)

2009-07-02 09:38:17

Hibernate延時(shí)

2022-01-04 16:50:47

JavaScript圖片網(wǎng)站

2011-07-25 15:32:06

iPhone Table 動(dòng)態(tài)

2021-04-20 08:49:38

AndroidKotlinColi

2011-08-08 15:48:13

iPhone TableView 背景

2014-10-13 10:44:43

PCB布線

2021-07-05 06:51:43

Java機(jī)制類加載器

2015-06-11 10:12:26

Android圖片加載緩存

2011-06-24 16:41:14

QT OpenCV 框架

2009-07-28 13:39:44

加載ViewStateASP.NET

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程序員

2022-08-13 12:13:13

RTOS延時(shí)代碼

2011-06-24 09:01:20

Qt QLibrary dll
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产高清视频 | 国产精品毛片一区二区三区 | 精品一区二区久久久久久久网站 | 91精品国产91久久久久久不卞 | 久久久一区二区三区 | 三区在线 | 最新国产精品精品视频 | 午夜影院黄| 亚洲永久精品国产 | 瑟瑟免费视频 | 伊人中文字幕 | 亚洲一区二区三区四区在线观看 | 日韩一区二区三区在线看 | 国产精品久久久久久久久免费丝袜 | 精品久久香蕉国产线看观看亚洲 | 一二三区视频 | 色综合久久88色综合天天 | 激情五月综合 | 国产一区二区三区在线看 | 欧美日韩最新 | 九色在线观看 | 国产婷婷综合 | 免费观看黄色一级片 | 亚洲日韩中文字幕一区 | 99pao成人国产永久免费视频 | 噜噜噜噜狠狠狠7777视频 | 久草在线在线精品观看 | 欧美精品三区 | 欧美精品v国产精品v日韩精品 | 免费成年网站 | 日韩欧美一区二区三区免费观看 | 国产乱码久久久久久一区二区 | 久草青青草| 美女天天操| 久久精品成人一区 | 国产精品视频免费观看 | 国产亚洲一区二区三区在线观看 | 九九99久久 | av中文字幕在线观看 | 91精品国产综合久久久亚洲 | 久久人体视频 |