2011-02-08 72 views
0

我有自定義字段與音量滑塊(只是顏色線), 我想更新滑塊的軌跡板移動,有沒有其他的方式 然後調用invalidate?因爲這對我來說真的很慢, 一個嘗試也失效只有地區,但白色相同的結果。那麼有沒有 某種方式如何重繪部分字段而不失效?黑莓無效速度問題

protected boolean navigationMovement(int dx, int dy, int status, int time) { 
    if (dx >0) { 
     if (value < maxValue) { 
      value++; 
      invalidate(xPosSlider + value*sliderStep, getHeight()/2 - SLIDER_HEIGHT/2, sliderStep, SLIDER_HEIGHT);         
      return true; 
     } 
    } else if (dx < 0) { 
     if (value > 0) { 
      value--; 
      invalidate(); 
      return true; 
     } 
    } 

    return super.navigationMovement(dx, dy, status, time); 
} 

回答

1

首先看的是你自己的代碼。您是否在偶數線程上花費了很多時間來防止及時發生繪畫操作?這是可能的問題。

否則,您可以嘗試calling the paint method directly as shown here。但最好的解決方案是確保你的事件線程不會被束縛在做一個單獨的線程上的工作。