2010-01-16 41 views
3

使用MGTwitter爲用戶獲取和緩存配置文件圖像的最有效方式是什麼?MGTwitterEngine - 獲取和緩存配置文件圖像的有效方式

我們現在的問題是,必須有一個調用getUserInformationFor來獲取圖像的url,然後getImageAtURL導致兩個調用服務器。目前,我們只需要圖像信息,所以它的冗餘必須下載所有其他信息。當你記住我們可能會一次完成20-30個這樣的調用(例如獲取用戶配置文件圖像列表),這會變得非常緩慢。

其次,什麼是最有效的方式來緩存該圖像,以便它不必每次下載(我們不介意假設配置文件圖像永遠不會改變),目前我們是隻需使用Twitter用戶名作爲文件名寫入NSTemporaryDirectory(),然後爲每個Twitter請求檢查文件名是否存在於該目錄中。有沒有更好,更有效的方法?

回答

0

如果您希望在MGTwitterEngine中提供的功能範圍之外進行操作,您可能需要使用原始的Twitter API。嘗試this頁面獲得一些幫助。

雖然緩存應該可以在NSCachesDirectory中完成。它的使用壽命可能比NSTemporaryDirectory長,是存儲緩存數據的推薦位置。在這種情況下,效率可能意味着下載一次,存儲圖像,以便稍後可以輕鬆識別它,確定它是否存在並確定是否需要下載。

0

我會使用NSURLConnection(或ASIHTTPRequest)編寫自己的代碼從tweet NSDictionary中指定的URL下載配置文件映像。

將下載的圖像保存在緩存目錄中。 文件名應該像<用戶名>.png(所有來自Twitter的圖片通常都是png的)。這樣在緩存中查找圖像不需要NSDictionaries存儲所有圖像名稱。

我還建議添加用戶控制的緩存清除,因爲它可以增長到大尺寸,並且如果用戶更改配置文件圖像,它可能會不準確。

重建緩存可以在高速緩存的圖像爲兩天並且用戶使用WiFi時完成。

相關問題