2013-11-03 43 views
1

我有一個iPhone應用程序,似乎有內存泄漏問題。這是一款益智遊戲,經過一些謎題後,應用程序在設備上崩潰。ios益智應用程序在幾輪後崩潰

我現在正在嘗試使用xcode Instruments來檢測發生了什麼。第一次使用儀器。

我在「泄漏」的情節發現泄漏吧,權當視圖被加載時: What are these memory leaking objects, detected by xCode Instruments? 。但是,這些泄露的對象很小,所以我猜我的應用程序有其他問題。

當我的應用程序繼續運行時,通常在iPad 2上運行10多輪,然後崩潰。我還沒有太多關於樂器,所以我看「所有堆分配」。在第一輪謎題開始時,「#Overall」欄爲〜70k,它在幾輪謎題之間緩慢增長。當一個新的難題進入時,它會達到〜90k,然後一輪又一輪地達到〜200k,然後崩潰。

在崩潰之前,在日誌控制檯中,我看到了內存警告和「連接中斷」。

在搜索內存泄漏之後,我已經跟蹤了一些內容,例如儘可能地將NSArray/NSDictionary或可變的NSArray/NSDictionary或可變的設置爲零(儘管不是所有這些都是因爲一些謎題之間的差異)。我還將UIImage imageNamed更改爲[UIIMage alloc] initWithContentOfFile。

還有什麼我應該看/檢查是什麼原因導致內存問題? TIA!

編輯: 我希望我可以發佈一些可能是犯罪嫌疑人的代碼,但我真的不知道要發佈什麼部分。我應該在開發過程中通過儀器進行檢查,以便我知道是什麼導致了這個問題。

關於其他視圖控制器。我確實有其他人(菜單,設置,應用程序商店費率等),我通過代碼生成了所有這些信息。我的應用程序沒有故事板或筆尖文件。當我測試崩潰時,我只需點擊下一個拼圖按鈕,所有其他視圖根本不會顯示。所以,在崩潰之前,唯一顯示的視圖是主視圖,只有幾個按鈕,幾個子視圖,一個動畫圖片(但只是引入的第一個難題)。如果有幫助,這是我的應用程序: http://itunes.apple.com/us/app/wordsect/id599455449?ls=1&mt=8

+2

如果不知道更多關於您的應用的信息,很難給您提供建議。你有多個視圖控制器?你如何在他們之間移動?當你開始新一輪時,你是否用新的控制器開始「新鮮」?舊的解除分配了嗎? – rdelmar

+0

也張貼一些有問題的代碼可能會幫助兄弟。 –

+0

@rdelmar,我在原始文章中添加了幾行,所以其他人可以看到它。謝謝。 –

回答

0

如果你試圖用儀器調試應用程序 - 讓殭屍檢測模式:

  1. 的Xcode:產品 - >方案 - >編輯方案
  2. 選擇調試方案的方案說明
  3. 在環境變量添加和檢查
  4. 選擇參數標籤欄NSZombieEnabled變量

然後,當您在Instruments控制下啓動應用程序時,您將在應用程序崩潰時獲取實例的名稱。