我正在开发一个Android应用程序,它使用折线图绘制心率。我每65毫秒通过UDP广播接收一个数据包,我需要绘制。图形渲染在前2-3分钟非常平滑,之后变慢。任何人都可以帮我弄清楚是什么让它随着时间的推移变得缓慢?如何在绘制大数据时释放内存?
private void addEntryGraph01(int ch0[], LineChart chart) {
LineData data = chart.getLineData();
if (data != null) {
ILineDataSet set = data.getDataSetByIndex(0);
if (set == null) {
set = createSet();
data.addDataSet(set);
}
data.addXValue("");
for (int i = 0; i < ch0.length; i++)
data.addEntry(new Entry((float) (ch0[i]), set.getEntryCount()), 0);
chart.notifyDataSetChanged();
chart.setVisibleXRange(50, 50);
chart.moveViewToX(data.getXValCount() - 10);
return;
}
}
private LineDataSet createSet() {
LineDataSet set = new LineDataSet(null, "");
set.setDrawCubic(true);
set.setDrawValues(false);
set.setCubicIntensity(0.1f);
set.setAxisDependency(YAxis.AxisDependency.LEFT);
set.setColor(ColorTemplate.getHoloBlue());
set.setCircleColor(ColorTemplate.getHoloBlue());
set.setLineWidth(1f);
set.setDrawCircles(false);
set.setFillAlpha(65);
set.setFillColor(ColorTemplate.getHoloBlue());
set.setHighLightColor(Color.rgb(244, 117, 177));
set.setValueTextColor(Color.WHITE);
set.setValueTextSize(10f);
return set;
}
答案 0 :(得分:0)
我们在这里进行了一些测试以比较various Android Charting Libraries的性能,而MPAndroidChart排在第二位,但SciChart for Android是第一次大幅度提升。
这是一个新的(商业)图表组件,专为Android应用程序和嵌入式系统中的实时使用而量身定制。距离发布还有几天,所以目前还没有,但很快就会推出!
披露:请注意我在SciChart Android项目上工作。