2011-03-27 97 views
0

我有一個基於UITableView的程序(用戶可以編輯單元格的內容)。長時間打開後(大部分在後臺),有時會突然停止,讓您完全滾動到列表的底部。滾動條被設置爲反彈,所以它會彈起來,你可以看到最後幾行,但它會反彈回來並再次隱藏它們。內存泄漏是否會導致UITableView滾動出現問題?

我使用導航控制器的工具欄,所以在某些方面,它似乎像工具欄隱藏了最後幾項,但我認爲這不是真的發生了什麼。 (我認爲最後一個或兩個項目無論如何都會脫離屏幕。)

同樣,大部分時間滾動都沒有問題。

這種情況很少發生,所以我一直無法確定原因。看起來旋轉到橫向模式後可能會發生這種情況,但許多旋轉可能發生而不會導致問題。它似乎也表現出來後,我的手機已經遠遠低於10%電池充電之前(我注意到電池恢復充滿後的問題,但它可能是它之前開始,或電池狀態是完全無關的) 。

由於它發生在程序運行幾天後(主要在後臺),並通過重新啓動手機來解決,我懷疑有內存泄漏,但是我沒有收到任何內存警告,程序正常運行否則,即使滾動停止行爲正確。

我已經跑了幾次泄漏,只有一次發現退出程序,我一直沒有能夠重現16字節泄漏。

任何想法將深深感激。

回答

0

泄漏不會自己引起這些問題。聽起來像你的桌子被調整大小,或者自動用UIViewAutoresizingFlexibleBottomMargin/UIViewAutoresizingFlexibleHeight調整大小蒙版或手動。

+0

謝謝。我沒有手動調整它。自動調整大小是否真的只會導致一小部分時間的錯誤? – ohDear 2011-03-27 10:00:15

+0

你說過一段時間後會發生。也許你收到了一個低的內存警告,你的看法被釋放。檢查你的didReceiveMemoryWarning,viewDidUnload和viewDidLoad是否合理。嘗試在表格和視圖中設置自動調整掩碼爲零。 – ssteinberg 2011-03-27 10:08:34

相關問題