2
我有一個活動,它調用一個擴展SurfaceView的類並實現Runnable ,並將activity類的contentView()設置爲surfaceview類的實例。儘量減少活動後,我停下來破壞螺紋:SurfaceView,重新打開應用程序後的黑屏
public void pause(){
running = false;
while(true){
try{
renderThread.join();
break;
}catch(InterruptedException e){
//retry
}
}
}
當活動恢復我重新創建線程:
public void resume(){
running = true;
renderThread = new Thread(this);
renderThread.start();
}
注意,這些都是在onPause()和的onResume內稱爲()活動方法。
public void run(){
while(running){//thred loop
if(!holder.getSurface().isValid())
continue;
if(puzzleDrawn!=true) {
canvas = holder.lockCanvas();
drawPuzzle(canvas);
holder.unlockCanvasAndPost(canvas);
}
}
}
public void drawPuzzle(canvas){
//draws on canvas
}
當我嘗試重新打開應用程序,我看到一個黑屏。 我需要drawPuzzle(畫布)方法只畫一次。 任何提示?
如果你需要更多的信息讓我知道! 謝謝
這應該工作 – rdawg71481