2012-09-13 80 views
0

我們有一個應用程序使用SQLite擁有人數超過10,000行以上10MB如何提高SQLite + UITableView應用程序的性能?

,並在我們的第一個觀點,我們有兩個按鈕 上點擊第一個按鈕將採取具有的tableview另一種觀點認爲, 我們需要顯示所有這些10,000個記錄在該表格中用於搜索。

由於我們一次加載所有項目,因此在點擊第一個視圖中的按鈕時需要一些時間來加載該視圖。

是否有避免延遲的選項?像任何延遲加載選項 或首先顯示100-1000行,然後在底部附加所有其他行。

這就是蘋果曾寫道:

我們發現您的應用程序的用戶界面的以下問題:

  • 您的應用程序反應很慢。例如,當我們拍了拍電影或 相冊按鈕,它花了5 seconds.`
+0

發佈一些關於如何處理來自數據源的處理的代碼。 UITableView通常很好地處理你的用例。這是在你的代碼中花費的時間。 – Bourne

回答

1

您可以嘗試使用限制多批次加載數據和OFFSET子句。請參閱sqllite docs。例如。在頁面加載時,您請求前100個結果行,並且當請求完成時,您可以請求下100個等。

+0

我認爲這是最好的解決方案 – cnu

-1

您正在使用tableView,然後使用這個代碼的代碼生成使用視圖大小的單元格。請放線cellForRowAtIndexPath方法

TableCell *cell = (TableCell *)[tableView dequeueReusableCellWithIdentifier:[NSString stringWithFormat:@"%d",indexPath.row]]; 
+0

這爲每行提供了一個不同的單元格,完全違背了通過重用單元格而不是爲每行專門創建一個單元來使單元格更高效的目的。 – Abizern