2011-03-08 51 views
1

我有一個iPad應用程序,大約有50多個全屏圖像(PNG),我希望能夠在圖像之間來回翻轉。爲了縮小應用程序的尺寸,我使用NSURLConnection,根據需要下載圖像。我也緩存大約15個圖像。我遇到的問題是,即使我有一個緩存,它很容易翻轉緩存和尚未下載的圖像。如何優化通過下載的50多個圖像翻轉

我想知道你有什麼建議,以解決我的問題。我應該只是增加緩存還是應該下載圖片?我是否必須同時限制下載的圖像數量?非常感謝!

我這是怎麼開始的每個圖像下載

NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:[NSURLRequest 
      requestWithURL:[NSURL URLWithString:theUrlString]] 
      delegate:self startImmediately:NO]; 

[conn scheduleInRunLoop:[NSRunLoop mainRunLoop] 
      forMode:NSRunLoopCommonModes]; 

[conn start]; 
+0

在開始圖像顯示之前,您是否知道總共有多少圖像? (您可以簡單地在每個插槽中顯示佔位符圖像,直到NSURLConnection提供必要的信息爲止。)也就是說,在下載應用程序文檔目錄時緩存圖像不應導致我曾想過的任何問題。 (這不是* *所有事情都考慮過很多數據。) – 2011-03-08 22:11:38

+0

謝謝middaparka。 – Caroline 2011-03-09 14:47:06

回答

1

關於通過照片翻轉一旦被下載,這裏有一些提示,以嘗試。

  • 同時提供低分辨率和高分辨率照片版本。
  • 每當您加載一張圖片時,請將其最近鄰居的高版本存入內存。換句話說,加載,但不要顯示這些圖片。
  • 將低分辨率圖像加載到顯示圖片周圍某些範圍的存儲器中。因此,如果顯示圖片5並且範圍是5,則加載低分辨率圖片0到10
  • 當用戶翻動時,首先渲染低分辨率,然後加載高分辨率圖片。

這些提示應該說明用戶翻閱幾張照片來找到想要的照片,然後在選定的照片上暫停,然後翻轉一些。

+0

amccormack感謝您的建議。 – Caroline 2011-03-09 14:44:45