0
我將uiimages從核心數據附加到數組以便創建它們的gif。ios swift - 將數組附加到數組時未釋放內存
我創建了gif,然後清空數組;不過,從創建gif的那一刻起,我仍然擁有無限的50 MB內存分配。
我試圖尋找在儀器,這是我在調用樹我得到:
這是代碼:
do{
let objects = try managedObjectContext.executeFetchRequest(request)
let results = objects
if results.count > 0 {
for var i = 0; i < results.count; i += 1{
let match = results[i] as! cFW
date.append(match.date)
let image = match.image
fetchedImage.append(UIImage(data: image)!)
}
} else {
}
}
catch{}
即使刪除GIF和後陣列已被刪除,該應用程序停留在50MB的內存使用量。
謝謝
編輯:我正在遇到的問題與我如何顯示GIF(在網頁視圖)做。我將用我的解決方案儘快更新問題
那麼你有沒有刪除fetchedImage中的所有內容?你什麼時候刪除它 –
在創建gif之後。經過進一步調查後,在另一個網站上發現了一個類似問題的人的帖子:「對此使用工具進行了更多的研究,並注意到VM:ImageIO_GIF_Data在GIF中的每一幀被調用一次,我還注意到每次調用內存時分配的內存都等於GIF的大小,這意味着當您將UIImage的動畫實例分配給UIImageView時,iOS將爲其中的每個幀重新分配整個圖像。「 – Japp
如果您在Web視圖中查看圖像可能只是Web視圖緩存 – Andrea