У меня есть действие, которое вызывает класс, который расширяет SurfaceView и реализует Runnable и устанавливает contentView() класса активности экземпляру класса viewview. После того, как свести к минимуму активность, я паузу и уничтожить нить: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 (canvas), который нужно нарисовать только один раз. любые подсказки?
если вам нужна дополнительная информация, дайте мне знать! Thanks
Это должно работать – rdawg71481