簡體   English   中英

保留NavigationController和window的數量為3

[英]Retain count of navigationcontroller and window is 3

我正在開發一個基於導航的iPhone應用程序。 每當應用程序退出時,導航控制器和窗口的保留計數為3。有人可以向我解釋如何解決此問題嗎? 結果,未調用dealloc方法。

沒有問題。

  • 除非看到確定的漏洞(通常是在Instruments中),否則您應該盡量不要將自己與保留數相關聯
  • 您無需擔心在應用程序退出時諸如窗口(可能還有您的nav控制器)之類的對象被取消分配。 屆時,您所有應用程序的內存都會消失。

但是沒有調用dealloc方法,無論是針對UIViewController的方法還是Appdelegate的方法都沒有被調用。 視圖控制器的keepcount值為1。問題是,我將它們保留在rootviewcontroller中,因為它們將被一次又一次地使用,釋放它們並再次分配它們是la腳的。 那么,什么時候發布這些其他UIViewControllers? 不會調用rootviewcontroller的dealloc方法。

通過不依賴於調用dealloc方法來克服此問題。 應用程序拆卸代碼應包含在適當的應用程序方法中。 對象的dealloc應該只執行釋放該對象的內存並履行其在內存管理契約中的dealloc所必需的操作。 當您的應用終止時,其所有內存都被釋放,因此無需調用dealloc。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM