VideoView.java 코드를 보면,
화면이 없어지는
public void surfaceDestroyed(SurfaceHolder holder) 호출 시 release(true); 가 불려 플레이어를 종료하고,
화면이 다시 생성 될 때
public void surfaceCreated(SurfaceHolder holder) 가 불리면서 openVideo(); 를 호출하여 플레이어를 다시 생성하게 구현되어 있기 때문에, 버퍼링이 생길수 밖에 없습니다.
surfaceDestroyed 호출 시 플레이어를 release하는대신, mMediaPlayer.setDisplay(null)을 호출 하고,
surfaceCreated 가 다시 불릴 때 mMediaPlayer.setDisplay(mSurfaceHolder);가 호출 되게, 수정한 CustomVideoView를 만드셔야 할 듯 합니다.