2010-09-17 89 views
0

我正在使用導航控制器創建多層iPhone應用程序,並且該應用程序在每個圖層中都包含大量圖像。我想知道是否使用SQLite數據庫來存儲所有圖像並在需要時將它們提取到頁面是一個好主意,或者我應該只將所有圖像添加到資源文件夾並根據需要將它們拉入應用程序中?我以前在應用程序中使用過SQLite數據庫,但應用程序仍然稍慢。除此之外,我還可以做其他事情來提高應用的速度嗎?我全部耳朵,任何幫助表示讚賞。提前致謝。iPhone應用程序中的圖像

回答

0

我不認爲你會從SQLite獲得比文件系統更快的響應。無論哪種方式它都存儲在一個文件中。我擔心這是你能做的最快的事情。這就是說,如果你有足夠的內存,你可以確保在需要它們之前加載一些文件和視圖。您可以異步執行此操作,而應用程序的另一部分正在使用NSObject的performSelectorInBackground方法運行。此外,您可以通過事先優化圖像的寬度和高度來減少負載和處理時間,以達到其目標用途。當你有很多圖像時,這會在加載和呈現時間上產生巨大的差異。

1

如果您的圖片永遠不會改變,您會從[UIImage imageNamed:]獲得一些優勢,這是數據緩存。在你的情況下,資源加載也應該比數據庫訪問更快,因爲你直接訪問資源而不是通過數據庫訪問層。高速緩存也有利於您自己無需管理數據高速緩存,但您可能必須從UIImageView中釋放它,以防止庫在需要時執行高速緩存清除。

0

要檢查的一件事是查詢數據庫需要多長時間?

檢查從查詢開始到結果返回需要多長時間。如果這很慢,請確保您已將您在「where」語句中使用的列編入索引。

你可以快速檢查這個真棒SQLite圖形用戶界面 http://menial.co.uk/software/base/和或添加這些。

我會從文件系統獲取數據。