0
我在webservice中有一個數據連接。在Assynctask中,我每5秒收到一次數據。 數據到達後,我做了新的數據集,並打算生活我剛剛重畫mChartView。在這裏提出我的問題。折線圖重新繪製不會重新生成圖表,只需創建一個新的頂部。當然,2-3分鐘後取出的menmory :(Achartengine重繪
這裏我的代碼:
class GetData extends AsyncTask<Void, String, Void> {
private ArrayList<String> Alldata = new ArrayList<String>();
public XYMultipleSeriesDataset datasetOut;
public XYMultipleSeriesRenderer mRendererOut;
@Override
protected Void doInBackground(Void... unused) {
Alldata.clear();
Alldata = DataFromWeb.getChartDataNew("&name=XXX", "XXX");
return (null);
}
@Override
protected void onPostExecute(Void unused) {
datasetOut = CCChart.getDataSet(getBaseContext(), Alldata);
mRendererOut = CCChart.getRendererPortrait(getBaseContext());
Log.d("Debug", "alldatasize: " + Alldata.size());
Log.d("Debug", "dataset " + datasetOut.getSeriesCount());
if (mChartView != null) {
mChartView.repaint();
Log.v("CC_trace", "CCChartRepaint");
} else {
mChartView = ChartFactory.getLineChartView(getBaseContext(), datasetOut , mRendererOut);
layout.addView(mChartView, new LayoutParams(
LayoutParams.WRAP_CONTENT, getHeight()));
Log.v("CC_trace", "CCChartGenerate");
}
}
}
也許我不是好地方調用重繪():)
圖表圖像1
thx的幫助...
THX最後我做這個和工作... – Sherad 2012-02-23 10:54:59