Web ビューから画像を取得しようとしていますが、「webView.capturePicture()」を呼び出すと、Picture オブジェクトが表示されます。ほとんどの場合、これで十分です。次のコードを使用してビットマップ オブジェクトに変換します。
Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
picture.draw(c);
ただし、同じ場合、作成されるビットマップは、Android がメモリ上でサポートするサイズよりも大きくなります。
したがって、メモリ内のビットマップのインスタンスなしで、Picture オブジェクトをファイル内のビットマップ オブジェクトに直接変換する方法を知る必要があります (それが解決策になると思います)。またはそれと同じです。要点は、画像オブジェクトからビットマップを作成することですが、大きすぎてできません。
PS:「 android:largeHeap="true" 」は使いたくありません。
誰かが同じ考えを持っているなら、私に知らせてください。
ありがとう