Я не знаю, как это возможно, но холст из упражнения A появляется сверху моего холста в упражнении B. Оба занятия всегда живы (они находятся в группе действий).Как вообще возможно, что содержимое холста в одном действии могло отображаться поверх моего другого занятия?
Я называю это, когда я закончу с заданием A или B, но это, очевидно, неworking:
void clearPlayerCanvas()
{
runOnUiThread(new Runnable(){
public void run()
{
Canvas canvas = null;
try
{
canvas = holder.lockCanvas();
if (canvas == null)
{
System.out.println("Cannot lock canvas, skipping MJpeg frame");
return;
}
canvas.drawColor(Color.BLACK);
}
finally
{
if (canvas != null)
holder.unlockCanvasAndPost(canvas);
}
}
});
}
Этот код просто перезаписывает (он должен) текущий холст черным.В любом случае, я не должен даже видеть этот черный холст в упражнении b, но я есть.Я также использую SurfaceHolder.