Я создаю приложение, в котором я использую библиотеки CorePlot для отображения графиков.
У меня есть tableView, и при нажатии на ячейку отображается соответствующий график в контроллере подробного представления.
Теперь При тестировании моего приложения на инструменте я обнаружил, что при загрузке диаграммы происходит увеличение объема памяти.
В моем detailViewController я освобождаю все, что я сохраняю.
У меня есть CPXYGraph *graph
, определенный в моем .h файле
и в функции в .m я добавляю график к моему графическому объекту
т.е.
CPScatterPlot *boundLinePlot2 = [[[CPScatterPlot alloc] init] autorelease];
boundLinePlot2.identifier = @"My Plot2";
boundLinePlot2.dataLineStyle.miterLimit = 1.0f;
boundLinePlot2.dataLineStyle.lineWidth = 1.0f;
boundLinePlot2.dataLineStyle.lineColor = [CPColor yellowColor];
boundLinePlot2.dataSource = self;
// Add plot symbols
CPLineStyle *symbolLineStyle2 = [CPLineStyle lineStyle];
symbolLineStyle2.lineColor = [CPColor yellowColor];
symbolLineStyle2.lineWidth = 1.0f;
CPPlotSymbol *plotSymbol2 = [CPPlotSymbol ellipsePlotSymbol];
plotSymbol2.fill = [CPFill fillWithColor:[CPColor yellowColor]];
plotSymbol2.lineStyle = symbolLineStyle2;
plotSymbol2.size = CGSizeMake(0.2, 0.2);
boundLinePlot2.plotSymbol = plotSymbol2;
// Set plot delegate, to know when symbols have been touched
// We will display an annotation when a symbol is touched
boundLinePlot2.delegate = self;
boundLinePlot2.plotSymbolMarginForHitDetectionX = 25.0f;
boundLinePlot2.plotSymbolMarginForHitDetectionY = 400.0f;
[graph addPlot:boundLinePlot2];
Теперь у меня вопрос: если я вернусь к своему mainViewController, я сделаю что-то вроде [graph removePlot:boundLinePlot2]
, изменит ли это какую-то разницу в моей проблеме выделения памяти, а если нет, то когда нам следует использовать removePlot
свойство