Ben bitmap boyutunu elde etmek için bu yollar kullanabilirsiniz biliyorum:Bu, belleğe kod özülmeden önce bitmap'in boyutunu elde etmenin doğru bir yolu mu?
bitmap.getAllocationByteCount(); //API 19
bitmap.getByteCount(); //API 12
bitmap.getRowBytes() * bitmap.getHeight(); //earlier version
Ama bu bütün daha önce belleğe bit eşlem deşifre gerekir demek bir Bitmap nesnesi gerek bu OOM
İstisna harf olabilir. Bunun nedeni Android kod çözme bitmap kullanımı RGB_8888 varsayılan piksel başına 32 bit mal olur
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(bitmapPath, options);
int picWidth = options.outWidth;
int picHeight = options.outHeight;
int size = 4 * picHeight * picWidth; //Byte
: Bu yüzden ben Bitmap nesnesini almak için önce boyutunu almak için bu şekilde kullanabilirsiniz.
Bu doğru bir yol mu? Yoksa bunu yapmanın daha iyi bir yolu var mı?
İstediğim bitmap boyutu dosya boyutu değil, Bellekteki Bitmap Nesne boyutu ise daha büyük olabilir. –