2012-01-25 8 views
1

CorePlotライブラリを使用してグラフを表示するアプリケーションを構築しています。CorePlotライブラリの使用中にメモリ割り当てが増加する

私はtableViewを持っていて、セルをタップすると、詳細なビューコントローラに関連するチャートが表示されます。

今、計測器iで私のアプリケーションをテストしている間に、チャートが読み込まれるとメモリの割り当てが増えることが分かりました。 私の詳細なViewController私は、私が保持しているすべてをリリースしています。私が何かをする場合、私は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]; 

は今、私の質問は[graph removePlot:boundLinePlot2]のように私のmainViewControllerに戻ると、私のメモリ割り当ての問題に何か違いがありますか?そうでなければ、removePlotプロパティを使用する必要があります

答えて

0

各プロットデータソースからデータをロードした後に独自のデータをキャッシュするので、おそらく割り当ての増加の大部分が見えます。

グラフをホスティングビューから削除し、解放してメモリを解放します。 -removePlot:メソッドは、グラフから指定されたプロットのみを削除します。それはあなたが他のどこかでプロットを保持しない限り、いくつかのメモリを解放します。

+0

私はこれを試して、結果が何であるかを見てみましょう。 –

+0

私のコアプロットファイルも変更する必要がありますか? –

関連する問題