Problem
The line 456
of BaseSeries.appendData function makes an internal copy of the whole array on each call. This is because mData is initialized as an ArrayList.
Solution
A simple solution would be changing the mData from ArrayList to LinkedList. A better solution would encorporate some sort of a fixed-size list to hide this routine into a simple instruction mData.add(dataPoint).