Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
绘制慢时间Android如何在使用MPAndroidChart折线图绘制实时数据时释放内存?_Android_Mpandroidchart - Fatal编程技术网

绘制慢时间Android如何在使用MPAndroidChart折线图绘制实时数据时释放内存?

绘制慢时间Android如何在使用MPAndroidChart折线图绘制实时数据时释放内存?,android,mpandroidchart,Android,Mpandroidchart,我正在开发一个Android应用程序,它使用一个折线图绘制心率。我每65毫秒通过UDP广播接收一个数据包,我需要绘制数据包。图形渲染在最初的2-3分钟内非常平滑,之后会变慢。有谁能帮我弄清楚是什么让它慢慢变慢的?如何在打印大数据时释放内存 private void addEntryGraph01(int ch0[], LineChart chart) { LineData data = chart.getLineData(); if (data != null) {

我正在开发一个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;

}
private void addEntryGraph01(int ch0[],折线图){
LineData数据=chart.getLineData();
如果(数据!=null){
ILineDataSet集=data.getDataSetByIndex(0);
if(set==null){
set=createSet();
data.addDataSet(set);
}
data.addXValue(“”);
for(int i=0;i
我们运行了一些测试来比较这里的性能,MPAndroidChart排在第二位,但以很大的差距排在第一位

这是一个新的(商业)图表组件,专为Android应用程序和嵌入式系统中的实时使用而定制。它离发布还有几天,所以现在还不可用,但很快就会发布


披露:请注意我从事的是SciChart Android项目

不幸的是,MPAndroidChart不支持大量数据。。所以我选择了一个不同的绘图库。根据他们的文档和Google play store上的演示应用程序,它支持大量数据。