Obter o Bitmap no WebView gera falha no OutOfMemory

Eu tenho um costumeWebView e quero obter um bitmap de seu conteúdo (incluído fora da tela). Eu usei esse código, que recebi deaqui:

 public static Bitmap getBitmapFromWebviewV2(WebView webView) {
    webView.measure(View.MeasureSpec.makeMeasureSpec(
        View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED),
        View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
    webView.layout(0, 0, webView.getMeasuredWidth(),
            webView.getMeasuredHeight());
    webView.setDrawingCacheEnabled(true);
    webView.buildDrawingCache();
    Bitmap bm = Bitmap.createBitmap(webView.getMeasuredWidth(),
            webView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);

    Canvas bigcanvas = new Canvas(bm);
    Paint paint = new Paint();
    int iHeight = bm.getHeight();
    bigcanvas.drawBitmap(bm, 0, iHeight, paint);
    webView.draw(bigcanvas);
    return bm;
}

Funciona bem até o ponto em que aumento bastante o zoom, e nesse caso recebo o OutOfMemory Crash. Testei isso com a mesma imagem (levemente ampliada e ampliada ao máximo) e ela se comporta da mesma maneira que mencionei acima.

Eu tentei combater isso adicionando

while(webView.canZoomOut()){
      webView.zoomOut();
}

no início, mas não ajuda em nada.

questionAnswers(2)

yourAnswerToTheQuestion