私が達成したかったのは、実際にBitmapFactory.Optionsを変更せずに、入力ストリームからビットマップの高さと幅を計算できるようにすることです。
これは私がしたことです:
private Boolean testSize(InputStream inputStream){
BitmapFactory.Options Bitmp_Options = new BitmapFactory.Options();
Bitmp_Options.inJustDecodeBounds = true;
BitmapFactory.decodeResourceStream(getResources(), new TypedValue(), inputStream, new Rect(), Bitmp_Options);
int currentImageHeight = Bitmp_Options.outHeight;
int currentImageWidth = Bitmp_Options.outWidth;
if(currentImageHeight > 200 || currentImageWidth > 200){
Object obj = map.remove(pageCounter);
Log.i("Page recycled", obj.toString());
return true;
}
return false;
}
ここでの主な問題は、BitmapFactory.Optionsが正しくdecodeStreamできない状態に変更されることです。
私の質問は、BitmapFactory.Optionsをリセットする別の方法がありますか?または別の可能な解決策?
別のメソッド:(topメソッドが適用されるとoriginalBitmapがnullになることに注意してください)
これは私の元のコードでした:
Bitmap originalBitmap = BitmapFactory.decodeStream(InpStream);
DeevとNobuGameの提案を適用する:(変更なし)
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = false;
Bitmap originalBitmap = BitmapFactory.decodeStream(InpStream,null,options);