2012-01-12 41 views
2

在我的iPad應用程序中,我製作了一個分段控件,其中一個部分(單擊時)顯示包含本地SQLite數據庫中圖像和標籤的長列表(約300個)。這需要花費大量的時間來加載並將應用程序活動暫停,同時從數據庫中加載所有應用程序。使用SQLite中的數據在UIScrollView中進行延遲加載

儘管我暫時應用了一個活動指標,但看起來非常低劣。任何人都可以告訴我如何應用延遲加載的方式當單擊該按鈕以打開該視圖,而不是一次加載所有內容時,它僅提取最初顯示在內容上的內容(大約9個圖像與lablels)。

在此先感謝。

+0

我太快了。在索引'current'limit 10(或20)處開始執行sqlite查詢,然後從那裏前進。 – 2012-01-12 21:46:17

回答

0

您應該在列表上實施分頁。加載第25個項目,然後在tableFooterView上添加按鈕(「下一個25」),該按鈕將加載另一個25.

0

如果您使用UITableView,則可能會有更好的機會。

A UITableViewCell一次加載一個單元格(爲您提供要加載的項目的索引),因此如果使用表格視圖,它將僅加載需要顯示的項目數。你告訴它有多少項目有,他們是多麼高大,等

它還重用細胞,所以它比同時在內存中創建300個不同的意見有很多更好的性能。

一個UIScrollView不知道你的「物品」,所以它可以讓你想你把儘可能多的項目到視圖,然後添加一個滾動條。這裏沒有對內存使用或數據庫訪問進行優化。