3

There is a useful method bitmap.getByteCount() since API level 12. But how to get same value in API 11?

4

2 に答える 2

19

dmonが述べたように、この質問 bitmap.getByteCount()のコメントによると、を返す便利なメソッドにすぎませんbitmap.getRowBytes() * bitmap.getHeight()。したがって、代わりにカスタムメソッドを使用できます。

public static long getSizeInBytes(Bitmap bitmap) {
    return bitmap.getRowBytes() * bitmap.getHeight();
}
于 2012-06-21T13:46:32.460 に答える
7

サポートライブラリを使用することをお勧めします。

int bitmapByteCount=BitmapCompat.getAllocationByteCount(bitmap)

または、自分でやりたい場合:

public static int getBitmapByteCount(Bitmap bitmap) {
    if (VERSION.SDK_INT < VERSION_CODES.HONEYCOMB_MR1)
        return bitmap.getRowBytes() * bitmap.getHeight();
    if (VERSION.SDK_INT < VERSION_CODES.KITKAT)
        return bitmap.getByteCount();
    return bitmap.getAllocationByteCount();
}
于 2015-07-29T07:46:20.957 に答える