2012-02-17 64 views
1

我的核心繪圖消耗大量內存。當我將圖形繪製到一個大框架時,它崩潰了。每次我通過釋放圖形對象和主機視圖來重新創建圖形時。 還試圖刪除添加到圖形繪製,減少coreplot中的內存使用量

for(CPTPlot* plot in [graphByCorePlot_ allPlots]) { 
     plot.dataSource = nil; 
     plot.delegate = nil; 
     [plot deleteDataInIndexRange:NSMakeRange(0, plot.cachedDataCount)]; 
     [graphByCorePlot_ removePlot:plot]; 
    } 

是否足夠,以釋放核心情節分配的所有內存?

回答

2

這些都不是必須的。您可以通過在圖上調用-reloadData來更新圖表,以加載所有圖的新數據。您也可以使用相同的方法更新單個繪圖。

當您完成圖形時,將其從主機視圖中移除,並在您保留引用的情況下將其釋放。

如果仍有內存問題,請使用儀器檢查是否有泄漏。