我有一個UITableView顯示一長串數據。使用部分並遵循How to solve slow scrolling in UITableView的消音。緩慢加載UITableView。怎麼知道爲什麼?
該流程加載一個主要的UITableView &按一秒鐘從那裏選擇一行。
但是,3000個項目需要11秒才能顯示。我懷疑從sqlite的記錄加載(我預先加載的第一個200)。所以我把它減少到只有50塊。
但是,無論我預加載只有1還是500,時間都是一樣的。
視圖由IB製成,全部不透明。
我在如何檢測問題中用盡了想法。我運行儀器工具,但不知道要看什麼。
此外,當用戶從前一個UITable中選擇一個單元格時,沒有視覺反饋顯示(即:單元格未被選中)一段時間,因此他認爲他不會選擇它並嘗試多次。與這個問題有關。
怎麼辦?
注:這個問題只有在實際設備:
- 的iPod Touch 2D代
- 使用FMDB爲SQLite的API
- 否則在viewDidLoad中
- 緩存使用的NSDictionary的緩存
- 使用NSAutoreleasePool作爲緩存部分。
- 只緩存行ID & MAC 4個字段necesary以顯示單元數據
- 的UIView與界面生成器製成,SDK 2.2.1
- 儀器說我使用2.5 MB在設備
我在儀器中進行了第二次觀察,最接近的預期調用是fmresultset(來自fdbm庫) – mamcx 2009-07-04 17:08:40
您是否分析了執行提取數據的SQL查詢需要多長時間? – teabot 2009-07-04 17:44:40