自动释放并保留会使消息发送到已释放的消息

问题描述

| 我遇到了这种随机崩溃,其中我不知道该如何再次再现。当我浏览/使用应用程序一段时间后,到处切换视图时,就会发生这种情况: 首先,我不知道此崩溃是指哪个UIImage。我确实有崩溃报告,但是我不知道如何阅读。我想重现该错误,但是我不知道该怎么办..看来这是相当随机的。有人可以帮我调试一下吗?     

解决方法

        很难肯定地说些什么。这是我的猜测。 我看到您正在从外部资源“ convore.com”中获取一些数据。当您说您随机收到错误时,我认为这可能是由于从convore.com api接收到的数据所致。可能有时您没有从服务器获取图像,链接或图形,并且没有创建图像,而是试图保留它,从而导致错误。     ,        如果无法重现故障,将非常困难。 如果您无法复制它,我建议您使用Xcode选项\“ Build and Analyze \”来构建您的项目。确实,由于这似乎是保留/释放的问题,因此“构建和分析”可能会给您一些提示,指出问题出在哪里。顺便说一句,如果您不这样做,强烈建议您进行几乎是强制性的检查。 您可以尝试发布崩溃报告,但是我怀疑它是否有用。关键是要找出UIImage的释放位置,以及崩溃报告为何要在发布UIImage后使用它的尝试,因此这很可能位于代码的不同部分。 如果您怀疑哪个类包含此UIImage,则可以发布一些代码,以便我们帮助您检查它。 作为有关如何重现此问题的希望有用的提示,我还建议向模拟器发送内存警告。确实,在这种情况下,所有未显示的UIView都会被释放,这可能是UIImage的罪魁祸首。因此,您将其发送出去,看看崩溃是否再次发生……无论如何只是一个提示……