Как я могу решить/вычислить размер байта битового массива (после декодирования с BitmapFactory)? Я должен знать, сколько пространства памяти это занимает, потому что я делаю кэширование/управление памяти в своем приложении. (размер файла недостаточно, так как это jpg/png файлы),
Спасибо за любые решения!
Обновление: getRowBytes * getHeight мог бы добиться цели.. Я реализую его этот путь, пока кто-то не придумает что-то против него.
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();
}
}