I\'m trying to graph some real-time data, \"realtime\" here means < 10msec data, ideally as low as possible. I\'ve been able to get Android to fetch and process data this
First of all thanks for the great question and for the point you raised. You were definitely right about the huge memory allocation that was done under the onDraw()
method. I fixed that and checked in the code in SVN. I have also added a synchronized block inside the onDraw()
method such as it will hopefully not throw ConcurrentModificationException
when adding new data to the dataset during repaints.
Please checkout the code from SVN and do an ant dist in order to build new AChartEngine jar file and embed it in your application. Please see instructions here.
To answer your question: AChartEngine is definitely ready for dynamic charting. The issue you reported was a show-stopper, but it should be fixed now. I have written dynamic charting using it. However, you need to make sure you don't add 100000s of data values to the datasets. Old data can be removed from the datasets in order to gain performance.
It is definitely reasonable to paint the 5 or so line charts if they have up to a few 1000s points.