[英]Performance issue in downloading the images on iPhone from the server
我們在iPhone上有一個應用程序。 該應用程序每頁/屏幕顯示25個產品。 首先從服務器下載所有25個產品的文本項,例如產品名稱,價格,折扣,產品圖像的URL等。
之后,我們發出25個同步請求來下載25個產品映像,一個接一個。 每個圖像的大小約為25KB,大小約為300 x 400像素,我們只需要72 x 72像素大小的圖像即可在iPhone上顯示。 我們注意到,顯示一個屏幕/頁面大約需要40秒,而這種性能並不好。 因此,我們正在研究如何提高性能。
1.如果將它們的大小調整為72x72,則總大小較小,因此下載速度更快。
2.對於批處理,我沒有解決方案,但是您可以嘗試對每個文件進行異步請求。 下載時放置一個臨時圖像(徽標或其他內容)。 下載映像后,將臨時映像替換為新映像。 您可以將圖像放入緩存中,以免每次都下載它們。
對於異步下載,您可以使用ASIHTTPRequest (它也有一個緩存類)。
如果您執行同步請求,則您的GUI將凍結直到完成。
首先,在服務器上縮放圖像完全是一件容易的事-無需下載任何您絕對必須的數據。
完成此操作后,您將看到明顯的性能提升,可以通過使用占位符圖像並異步在后台下載真實圖像來進一步提高性能。 ( ASIHTTPRequest庫是此類功能的不錯的包裝。)
最后,如果合適,您應該使用圖像緩存並將圖像存儲在本地(可能帶有SQLite數據庫中的引用)。 但是,您偶爾需要對此進行維護,以使其保持在合理的文件大小限制內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.