我在Android中使用GraphView来绘制从蓝牙(BLE)连接的传感器接收的实时数据(ECG).
过了一会儿(5-10秒= 500-1000分),应用程序变得极其缓慢且滞后.
传感器的输出数据速率为100Hz,数据一经生成就会被接收并绘制(每10ms).
如同类似情况所示,我只保留我需要显示的数据.我尝试最小化视图(2秒= 200分),在不同的Android设备上测试应用程序,但问题仍然存在.有任何想法吗?
import com.jjoe64.graphview.GraphView;
import com.jjoe64.graphview.series.DataPoint;
import com.jjoe64.graphview.series.LineGraphSeries;
import com.jjoe64.graphview.GridLabelRenderer;
Run Code Online (Sandbox Code Playgroud)
...
//GraphView init
static LinearLayout GraphView1;
static GraphView graphView1;
static LineGraphSeries<DataPoint> Series1;
static LinearLayout GraphView2;
static GraphView graphView2;
static LineGraphSeries<DataPoint> Series2;
static LinearLayout GraphView3;
static GraphView graphView3;
static LineGraphSeries<DataPoint> Series3;
private static int Xview = 5;
private static int maxpoints = 500;
private static double xstep = 0.01d;
private static double graph2LastXValue = 0;
static boolean AutoScrollX = true;
Run Code Online (Sandbox Code Playgroud)
初始化通道1的Graphview(init_ch2()和init_ch3()类似):
void init_ch1(){
GraphView1 = (LinearLayout) findViewById(R.id.Channel1); …Run Code Online (Sandbox Code Playgroud)