Sto cercando di scrivere un metodo in Android per salvare l'intera webview come un'immagine come segue:
bitmap = Bitmap.createBitmap(webView.getWidth(),
Math.round(webView.getContentHeight() * webView.getScale()), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
webView.draw(canvas);
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, JPEG_COMPRESSION, out);
Tuttavia, la bitmap è troppo grande (oltre 100 MB)e richiede troppa memoria. Qualcuno conosce un metodo migliore per mantenere basso l'utilizzo della memoria? Il problema è che WebView è piccolo e il file JPEG generato è piccolo, ma la Bitmap intermedia che non è più utilizzata in altri posti è enorme.
risposte:
0 per risposta № 1Imposta JPEG_COMPRESSION = 0-100 dato che è a qualità parametro di bitmap 0 che significa comprimere per piccole dimensioni, 100 significa compressione per la massima qualità.
Puoi anche impostare l'altezza e la larghezza della bitmap usando BitmapFactory.Options bop
bop.outWidth
bop.outHeight