Растровый размер байта после декодирования?

Как я могу решить/вычислить размер байта битового массива (после декодирования с BitmapFactory)? Я должен знать, сколько пространства памяти это занимает, потому что я делаю кэширование/управление памяти в своем приложении. (размер файла недостаточно, так как это jpg/png файлы),

Спасибо за любые решения!

Обновление: getRowBytes * getHeight мог бы добиться цели.. Я реализую его этот путь, пока кто-то не придумает что-то против него.

63
задан user289463 9 March 2010 в 09:55
поделиться

1 ответ

getRowBytes () * getHeight () мне кажется, все работает нормально.

Обновление моего ответа примерно двухлетней давности: Поскольку у растрового изображения уровня API 12 есть прямой способ запроса размера байта: http://developer.android.com/ reference / android / graphics / Bitmap.html # getByteCount% 28% 29

---- Пример кода

    @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
    protected int sizeOf(Bitmap data) {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR1) {
            return data.getRowBytes() * data.getHeight();
        } else {
            return data.getByteCount();
        }
    }
114
ответ дан 24 November 2019 в 16:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: