2010-08-26 60 views
1

我是新的iphone開發,我只是想完成一些事情。Loading image緩慢我的應用程序下降

我做我的第一個XML解析器應用程序。當我的應用程序啓動時,我設置了一個自定義單元格的tableView。在自定義單元中有兩個標籤和一個圖像。

當表視圖啓動我打電話內搭弦OD圖像的ADRESS,然後作出一個與它的URL,從比我創造我的形象與此內容的URL的內容的NSData我的自定義單元格的方法數據。

但我的表格視圖真的很慢,即使在模擬器上。

通過互聯網在iPhone上顯示圖像的最佳方式是什麼? ? 我知道他們必須在一個png格式,但

感謝所有

我使用甚至與巴實在是太慢了:

>  NSURL *imgUrl = [NSURL URLWithString:_text]; 
>  NSData *imgData = [NSData dataWithContentsOfURL:imgUrl]; 
>  limage.image = [UIImage imageWithData:imgData]; 

回答

1

是您的圖像保存在它的最終解決?假設您想在表格中顯示25x25像素的圖像,文件是保存爲25x25圖像還是保存爲更高分辨率?這會造成一些緩慢。但是,您應該在後臺線程中加載圖像,以便在滾動滾動時不會等待加載圖像。請記住,進行網絡傳輸以獲取映像很可能是流程中最長的一部分。您還應該以某種方式緩存圖像,而不是將圖像分配給limage.image屬性。這樣,每次重繪單元格時它都不會重新下載圖像。

編輯

你也不必使用PNG圖像在表格單元格的圖片。如果您願意,您可以使用普通的JPG或GIF圖像。所使用的圖像格式應該是適用於您將擁有的圖像內容類型的任何格式。您只需將PNG用於圖標和啓動畫面,但在所有嵌入式資源中最好使用PNG。

+0

是的,沒有辦法異步加載圖像,特別是對於表視圖。 – Codo 2010-08-26 18:14:26

0
[NSData dataWithContentsOfURL:imgUrl]; 

肯定會降低您的應用程序的速度,因爲它會等待您的映像加載完成,稱爲同步調用。你真正想要的是異步調用來獲取圖像的內容。

看看http://joehewitt.com/post/the-three20-project/你會發現一個很好的UIImage的子類,支持處理通過url加載圖像。