我需要一些關於我的Android手機上的簡單動畫的幫助。我是一個有動畫和圖形的新手。幫我優化此圖表動畫
我正在繪製加速度計數據作爲滑動時間序列窗口。隨着新的加速度計數據被讀取,它的數據繪製在右側,以前的數據推到左側,如下圖所示:
我的程序運行相當順利,但我想一些幫助優化動畫。這裏是我的主要關注點:
我當前實現讀取在一個線程中的所有加速度計數據,並保持在一個固定大小的FIFO隊列中的數據採集時間序列窗口的寬度。然後我使用Timer.scheduleAtFixedRate()來繪製隊列的全部內容,以便每50毫秒重新繪製整個圖形。我能改進嗎?我是否真的需要像這樣經常重新繪製圖表?在另一個我見過的類似程序中,每個像素列都被複制到左邊的一個像素,沿着圖形漣漪而下;最新的數據列被繪製在最右邊的像素列上。這是否更好?
我重繪了每50毫秒運行繪圖函數的繪圖線程中的圖例(在左上角)。有什麼方法可以「保留」這個傳說,而不必不斷地重新繪製它?
任何其他幫助將不勝感激。我聽說過像雙緩衝這樣的優化,但是如果這對我有幫助,那麼我是無能爲力的。
您應該考慮使用40ms。 50ms給你20fps,這比眼睛會記錄的要少。因此用戶可能會遇到延遲或別名。提供您的應用程序管理25fps,這應該是一個經驗法則選擇的幀率。 – Pedery 2011-04-01 18:22:39