[英]iOS 5 and 6 free malloc-ed memory under ARC
如何在ARC下的Objective-C中釋放動態分配的內存?
dynamically
是指用malloc
分配給某些ivar的內存。
至少在我的測試中,不再調用dealloc
和viewDidUnload
。
那么當不再需要View Controller時以及如何開始釋放內存?
我所做的是創建一個稱為Releasable
協議(我從C#竊取了一個想法),該協議具有單一方法-(void) release
。 當不再需要對象時,某些外部代理將調用此方法。
在ARC下仍會調用dealloc
。 您只是不顯式調用[super dealloc]
。 如果未調用dealloc
則仍然有對對象實例的引用。 在您的項目上運行分析器,看看會發生什么。
在iOS 5下仍會調用viewDidUnload
但在iOS 6下不會。
完全不需要添加協議和release
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.