上面給出的圖像是我的應用程序泄漏。
在這裏,我想了解的是,在擴展細節 - 你可以看到不同的顏色,如淺綠色,淡粉色,淺棕色,淺紫色。
每種顏色表示什麼?
現在另一個混淆是「如何找到正在創建內存泄漏的代碼?」
高達內存泄漏的限制 - 實際的iPhone可以繼續。 (假設10個字節沒有問題的,20個字節沒有問題& 200字節的一個問題)
- 什麼每種顏色表示?
- 哪種顏色表示我們的代碼/從哪個細節我們可以得到我們已經分配對象的代碼&忘了釋放它?
(例如 - 論UIKit的詳細第二小區的點擊 - 我們不能得到的代碼)
- 爲什麼我們必須解決所有的泄漏? - 即使是單一的泄漏也會堵塞iPhone?
- 爲什麼iPhone允許泄漏留在內存中? /爲什麼終止應用程序後垃圾回收不會自動完成?
- 如果我嘗試釋放應根據儀器釋放的對象,我的應用程序異常終止。如果我不dealloc,我的應用程序運行完美,如何?
- 爲什麼建議您在視圖中等待10秒或更長時間,如果有泄漏,儀器會檢測到泄漏?
+1優秀的答案肯德爾。 @sagar,你應該注意,對於問題3,你應該*永遠不*直接調用dealloc,只保留或釋放(只有異常是[super dealloc])。我相信你的解決方案是實現自動釋放,因爲它聽起來像你的崩潰是由早釋放對象造成的。例如[[[[NSArray alloc] init] autorelease]; – h4xxr