2012-02-17 98 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来更新图表,以加载所有图的新数据。您也可以使用相同的方法更新单个绘图。

当您完成图形时,将其从主机视图中移除,并在您保留引用的情况下将其释放。

如果仍有内存问题,请使用仪器检查是否有泄漏。