2013-07-23 43 views
3

我正在構建一個使用achartengine繪製應用程序的android實時加速計。我已經做了很多的研究,以解決我在下面提到的問題,但找不到任何工作解決方案。Android Real-Time Plotting

情況是這樣的:我正在收集加速度計值並填充三個XYSeries對象(每個軸一個)。我使用XYSeries對象來繪製三個時間序列的圖形。隨着時間的流逝,我希望圖表能夠生動滾動。所以我用在活動不同的線程來更新圖表,我更新了​​,然後我打電話

view_eeg1.repaint(); 

其中view_eeg1類型爲GraphicalView

然而,當我打電話的repaint方法每秒超過3次或4次GC_CONCURRENT踢。In this thread丹正在討論類似的問題,但我無法順利進行。

而且,即使我忽略了GC_CONCURRENT警告信息,並嘗試與應用程序打,當我移動設備很多,那就是圖形變得非常擁擠,應用程序崩潰。

所以,這裏的主要問題是,如何在採樣率和刷新率變高時使用achartengine進行實時繪圖?

我希望我詳細描述問題,如果您需要更多信息,請告訴我。

回答

1

一些建議,可以幫助:

  • 你可以重畫,你知道使用重畫(左,上,右,下)已經修改了圖的只是一部分,其中的參數定義屏幕上的一個矩形必須重漆。
  • 它可能有助於每秒鐘重新繪製一次左右。
  • 它可能有助於刪除一些較舊的值。你絕對不希望你的系列中有幾千個值。
+0

謝謝丹的答案。 1)隨着時間的推移,整個圖形必須重新繪製,尤其是X軸。 2)如果我這樣做了,那麼'GC_CONCURRENT'問題就解決了,但運動並不順利。 3)我已經刪除了舊的值。每個'XYSeries'只包含最後的1000個加速計讀數。 [This](https://play.google.com/store/apps/details?id=pearson.accelerometer_toy)應用程序運行完美順利,我認爲它也使用'achartengine'。我認爲它使用'Horizo​​ntalScrollView'移動座標軸,因此不需要啓用統計圖中的全景圖。 – dimkots