2011-04-06 324 views
0

有關如何解決此UITableView泄漏的任何建議?iPhone UITableView泄漏

下面是產生問題的一個非常基本的測試項目鏈接:

http://www.maani.us/temp/Test.zip

要重現泄漏:

  1. 運行的「泄漏」性能工具的項目。
  2. 在表格視圖中,在右側點擊索引「4」跳到部分4
  3. 向上滾動有點從部分顯示了幾個細胞3.
  4. 等待幾秒鐘。這會在儀器中產生泄漏。

我測試了這兩個版本4.2和4.3,都與模擬器和設備。所有測試都會產生泄漏。

謝謝你的幫助。

+0

Hi Jim;僅供參考,你不可能得到答案。除了運行泄漏儀器之外,你是否試圖自己發現泄漏?你發現了什麼? – 2011-04-06 02:36:18

回答

0

您是在模擬器還是在設備上測試它?在模擬器中有一些已知的UITableViewController泄漏,這些泄漏在硬件上不會發生。

我自己在我的模擬器中運行這個,我得到的唯一泄漏是NSIndexPAth和通用的16字節塊,這兩個塊在互聯網上被討論爲只在模擬器上泄漏。您還可以查看泄漏情況並查看它們是否已創建,並且只能在基礎框架中進行訪問。因此,它肯定似乎是框架本身的一個問題。一個可能的解決方法是使用UIViewController並自己設置UITableView。

+0

「**所有測試都會產生泄漏。**」我假設他也在設備上進行討論。 – esqew 2011-04-06 03:56:49

+0

好點,我沒有看到「和一個設備」的一部分。我會用更多的信息更新我的回覆。 – drewag 2011-04-06 04:08:16

0

上面的測試項目僅包含構建UITable並確認泄漏位於基礎框架(NSIndexPAth)中所需的最小代碼。

是的,泄漏也發生在設備上。

原始代碼使用顯示UITableView的UIViewController。這也產生了泄漏。我刪除了UIViewController以縮小問題範圍,並確認泄漏仍然沒有發生。

解決問題的唯一方法是刪除UITable部分索引(sectionIndexTitlesForTableView:tableView),這在最終的應用程序中不是可能的選項。