2011-02-11 23 views
4

我有一個應用程序,我查詢數據庫並加載大量的小圖像。目前,我在xcode中的iPhone項目中添加了圖像作爲資源(通過將其拖入相應組下的資源文件夾中)。但是,我正在嘗試添加額外的8000個圖像到項目中的功能。包括在iPhone應用程序中的許多圖像不放慢xcode

添加這些圖像後,我注意到界面構建器變得非常緩慢加載圖像預覽。它導致IB非常無響應,使用大量的CPU。如果我禁用與xcode同步,則根本不會加載圖像預覽。

有沒有什麼辦法以有效的方式包含和引用這些圖片,這樣不會減慢UI。我希望我的UI不要因爲我的項目中的圖片數量而減慢速度。

+0

您是否考慮過使用客戶端 - 服務器模型,而不是將所有圖像放入您的應用程序包中? – 2011-02-11 01:32:34

+2

我希望應用程序脫機。現場更新並不需要太多,因爲它們幾乎不會更新。脫機使用是一項功能。 – 2011-02-11 16:42:35

回答

10

我開發了一個包含更多圖像的應用程序,沒有一個問題(除了構建/包裝階段,需要超過1 Gb的數據)。

關鍵是將包含圖像的文件夾添加爲「文件夾引用」,而不是作爲組和單個項目。在訪問圖像時,您必須執行比[UIImage imageNamed:@"..."]更多的魔術。

你到圖像的路徑使用

[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"yourdirectory"] 

並添加文件名(和/或讀取目錄的內容,自然)

PS。這假定您實際上並沒有在Interface Builder中使用這些圖像。

哦,還有一個提示:在開發過程中,一旦您第一次安裝應用程序,您可以從xcode中的應用程序中刪除圖像。只要您不從設備中移除應用程序,圖像仍然會在設備上顯示,可用於您的代碼,但構建和安裝會更快。

1

這是大量的圖片添加。當然,Xcode將需要一段時間來處理它們,最初是在第一個版本上。

如果你沒有清理你的版本,或者從模擬器中刪除你的應用程序,那麼Xcode應該更快地處理它們,如果它們沒有改變的話。

至於用戶界面變慢,請儘量不要加載1個實例中的所有圖像;就像擁有8000張圖像的桌子一樣,即使在模擬器中,也無法減慢它的速度。

+0

偉大的補充! – 2014-02-16 22:14:23

相關問題