SurfaceView上で描画をするには、Canvasを使用することが多いと思うけど、
Canvasをクリアしたい時の方法。
例として、透明色でクリアする場合。
SubSurfaceView.java
Canvas canvas = getHolder().lockCanvas();
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
// 描画処理...
getHolder().unlockCanvasAndPost(canvas);
drawColor(Color.TRANSPARENT)
とやってもダメ。
第二引数を省略すると、drawColor(Color.TRANSPARENT, PorterDuff.Mode.SRC_OVER);
に置き換えられて実行されてしまう。
(※ソース:リファレンス)
ちなみに、PorterDuffの各モードの意味は、下記サイトが参考になる。
Merlinの魔術: Porter-Duffのルール