首页 > 解决方案 > 获取 Android Bitmap Byte Count i(API 级别 18 - 28)

问题描述

我不知道如何计算bitmap byteSize管理内存。

我进行了很多搜索,但找不到正确且可靠的方法来执行此操作。

我也听说过getByteCount()getAllocationByteCount()(它存在于 19 岁及以上),但对我没有帮助。如果它帮助我怎么办?

是他们获得字节大小的可靠方法Bitmap

API Level的是18 - 28

谢谢。(这个类似的问题是 8 年前提出的,但对我没有帮助)

标签: javaandroidkotlin

解决方案


在科特林

/**
 * it return size of Bitmap in Bytes.
 */
fun Bitmap.size(): Int{
    val s = rowBytes * height
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT){
        return try {
            allocationByteCount
        } catch (npe: NullPointerException) {
            s
        }
    }
    return s
}

推荐阅读