てみ主な理由は、我々メモリ問題が発生します。 ビットマップをリサイクルする方法についても学びます。 次のスニペットがお手伝いします。
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(filename, options);
options.inJustDecodeBounds = false;
options.inSampleSize = 2;
bitmap = BitmapFactory.decodeFile(filename, options);
if (bitmap != null && exact) {
bitmap = Bitmap.createScaledBitmap(bitmap, width, height, false);
}
また、次のメソッドをオーバーライドしたことを確認してください。
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((TextView) view);
}
それとも、WebViewのは、JNIで動作し、これが唯一のウェブと問題shouldnから直接コンテンツをロードしようと、512のローカル参照を保持することができますビットマップ
private byte[] resizeImage(byte[] input) {
if (input == null) {
return null;
}
Bitmap bitmapOrg = BitmapFactory.decodeByteArray(input, 0, input.length);
if (bitmapOrg == null) {
return null;
}
int height = bitmapOrg.getHeight();
int width = bitmapOrg.getWidth();
int newHeight = 250;
float scaleHeight = ((float) newHeight)/height;
// creates matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bit map
matrix.postScale(scaleHeight, scaleHeight);
// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
width, height, matrix, true);
bitmapOrg.recycle();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
resizedBitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos);
resizedBitmap.recycle();
return bos.toByteArray();
}
あなたのご協力ありがとうございますが、上記の質問はwebviewです! –
@Vipulはい、私はdestroyItemをオーバーライドしましたが、まだ運がありません。 – Kiran