簡體   English   中英

autorelease 和 retain 導致消息發送到 deallocated 消息

[英]autorelease and retain causes message sent to deallocated message

我一直在遇到這種隨機崩潰,我不知道如何再次重現。 當我瀏覽/使用應用程序一段時間,在這里和那里切換視圖時會發生這種情況,我得到了這個:

在此處輸入圖像描述

首先,我不知道這次崩潰指的是哪個 UIImage。 我確實有崩潰報告,但我不知道如何閱讀它。 我想重現錯誤,但我不知道如何.. 似乎它很隨機。 有人可以幫我調試嗎?

如果無法重現故障,那將非常困難。

如果您無法重現它,我建議您使用 Xcode 選項“構建和分析”來構建您的項目。 事實上,由於這似乎是保留/釋放的問題,“構建和分析”可以給你一些暗示 go 壞的地方。 順便說一句,如果你不這樣做,強烈建議,幾乎是強制檢查。

您可以嘗試發布崩潰報告,但我懷疑它是否有用。 關鍵是找出 UIImage 被釋放的位置以及為什么,崩潰報告是指在 UIImage 發布后嘗試使用它,因此這可能位於代碼的不同部分。

如果您懷疑哪個 class 包含此 UIImage,您可以發布一些代碼,以便我們幫助您檢查它。

作為關於如何重現此問題的有用提示,我還建議向模擬器發送 Memory 警告。 實際上,在這種情況下,所有未顯示的 UIView 都會被釋放,這可能是您的 UIImage 的罪魁禍首。 所以,你發送它,看看崩潰是否再次發生......無論如何,只是一個提示......

很難肯定地說什么。 這是我的猜測。

我看到您正在從外部來源“convore.com”獲取一些數據。 當您說您隨機收到錯誤時,我認為這可能是由於從 convore.com api 收到的數據。 可能有時您沒有從服務器獲取圖像、鏈接或圖形,並且您沒有創建圖像,然后您試圖保留它,從而導致錯誤。

暫無
暫無

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

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