Android为屏幕截图创建位图时出现内存不足错误

时间:2016-12-12 16:10:37

标签: android bitmap

我创建了一个Bitmap来捕获WebView内容。 当内容的大小很小时没有问题。 但是,当内容的大小很大时,创建位图时会出现内存不足错误。

这是我的代码。

    float scale = webView.getScale();
    int webViewHeight = (int)(webView.getContentHeight() * scale);

    //************************************************************
    // An error occurs here.
    Bitmap image = Bitmap.createBitmap(webView.getWidth(), webViewHeight, Bitmap.Config.ARGB_8888);

    Canvas canvas = new Canvas(image);
    webView.draw(canvas);


    try {
        FileOutputStream out = new FileOutputStream(filePath);
        image.compress(Bitmap.CompressFormat.JPEG, 100, out);
        out.close();

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

我应该使用什么方法来捕获大内容的Webview?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试其他配置,例如Bitmap.Config.RGB_565。它会减小创建的位图的大小