2011-05-06 70 views
0

因此,我最近對我的一個桌面進行了一些更改,我注意到當單元重新加載時(以這種或那種方式回到屏幕上)時,會有像四分之一秒到半秒的滯後。我決定使用xcode 4的內置探查器。我發現在這些峯值期間,大部分時間都在花費在gzopen和png_read_filter_rowiPhone分析和優化

我將這些函數在調用樹viwer中追溯到main,並且它從來沒有出現在我的真實碼。每次調用cellForRowAtIndexPath時,我所做的唯一可疑的事情是小圖像文件(每個單元格1個)。

我想我的問題是這樣的:

  1. 是該文件的I/O速度慢,讓我應該切換到內存中緩存這些圖像,而不是在文件系統中?
  2. 我怎麼才能弄清楚究竟是什麼使用分析工具大大減緩了我的應用程序?

謝謝!

回答

0
  1. 你可以異步加載圖像 - 顯示一個微調器圖像的位置,並從後臺線程中啓動以顯示圖像。這是「表格行中的縮略圖」問題的常見解決方案。

  2. 我想你已經使用了剖析工具來追蹤這個問題:加載圖像。無可否認,我並不是專家,但我認爲你知道你需要知道什麼。所以實現你的表a)沒有圖像b)從圖像加載圖像c)圖像加載異步並堅持最快的一個。 (我並不想成爲油腔滑調,我只是向高度獲取代碼出了門偏見。)

希望這有助於。 -Mike

+0

您是否知道是否有一種簡單且安全的方式來異步加載文件,如此類似? – 2011-05-06 19:47:17

+0

是的,它完全可以安全地使用。簡單是相對的:-)看到這個問題的答案(http://stackoverflow.com/questions/5452390/which-is-the-best-method-to-display-thumbnail-images-on-uiscrollview-downloaded)。我用過Three20,而且我已經推出了自己的。我沒有使用hjcache庫。祝你好運。 – Rayfleck 2011-05-06 19:55:36

+0

Three20圖書館並沒有真正幫助我,我已經下載了圖片,將它們加載到基本文件系統中,這似乎很慢 – 2011-05-06 20:47:52