1
WebViewコンテンツをキャプチャするためのビットマップを作成しました。 コンテンツのサイズが小さい場合は問題ありません。 ただし、コンテンツのサイズが大きい場合は、ビットマップの作成時にメモリ不足エラーが発生します。Androidスクリーンショットのビットマップを作成中にメモリ不足エラーが発生しました
ここに私のコードです。
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をキャプチャするにはどのような方法を使用しますか?
ありがとうございました。
ありがとうございます。 コンテンツサイズが非常に大きい場合があります。 その方法を使用しても、メモリが不足しています。 ビットマップをメモリに割り当てずにディスクに割り当てることはできますか? – LuckyLeeis