我正在努力强化我的代码,以避免内存崩溃。我特别坚持一个,根据这些步骤发生:
通过各处的NSLog语句,我看到初始(呈现)视图控制器收到内存警告,然后反复调用其dealloc方法直到崩溃。出于调试的目的,除了NSLog语句之外,我的didReceiveMemoryWarning,viewDidUnload或dealloc方法中没有任何内容。
这听起来像什么?也许我有一些保留的实例变量,它有一个指向视图控制器的指针?我只需要对可能导致这种情况的原因进行一般猜测。无法发布贯穿1000行的整个视图控制器代码。
感谢。
答案 0 :(得分:2)
您在最新评论中指出,您认为您修复了过度释放视图控制器的情况,但我不太确定。过度释放视图控制器仍会导致dealloc
仅被调用一次。
更有可能导致“ dealloc方法反复调用直到崩溃”在[self dealloc];
方法中调用dealloc
,而不是相应的{{1 }}。在这方面检查您的代码是否正确,可能会有无限递归导致您出现问题。 :)
答案 1 :(得分:0)
您是否覆盖了ViewControllers release
方法?我曾经这样做而不是覆盖dealloc
。深夜编码FTL。