2011-11-14 170 views
0
Bitmap top; 
int x; 
public ViewExample() { 
    top = BitmapFactory.decodeResource(getResources(), R.drawable.top); 

    Thread thread = new Thread(){ 
     public void run(){ 
      while(true){ 
       x++; 
       postInvalidate(); 
      } 
     } 
    }; 
    thread.start(); 
} 

@Override 
protected void onDraw(Canvas c) { 
    c.drawBitmap(top, x, 0, null); 
} 

我試圖快速繪製活動位圖,做什麼快速繪製? (這是非常緩慢,不光滑)Android繪製快速位圖

回答

0

,如果你正在使用View類來創建表面會很慢,所以使用SurfaceView。

表面視圖用於創建頻繁變化的表面。

Her e瞭解更多信息。

+0

啊謝謝我用surfaceview嘗試,是光滑的,罰款,但我可以讓surfaceview透明背景? – user1028269

+0

標記爲答案,如果是。 –

+0

設置顏色透明0X00000000可以使視圖透明。 –

1

您目前使用的手機功率太大。你需要讓線程隨時都睡覺。 40毫秒是給你25幀/秒的好時機。

這裏有一個例子

public ViewExample() { 
    top = BitmapFactory.decodeResource(getResources(), R.drawable.top); 

    Thread thread = new Thread(){ 
     public void run(){ 
      while(true){ 
       x++; 
       postInvalidate(); 

       try 
       { 
        Thread.sleep(40); 
       } 
       catch (InterruptedException e) 
       { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 

       } 
      } 
     } 
    }; 
    thread.start(); 
}