当前位置: 首页 > 知识库问答 >
问题:

位图解码的存储器

翟奇逸
2023-03-14

我有一些关于位图解码的问题。

>

  • 当我尝试使用BitMapFactory.DecodeByteArray从Byte[]数组解码位图时,结果位图中的param Byte[]和mBuffer Byte[]有什么不同。当函数返回时,位图仍然保留对Byte[]参数的引用吗?

    当我使用以下代码从sdcard的jpg文件解码位图时:

    File file = new File(getExternalCacheDir(), "large.jpg");
    bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
    if(mImageView != null){
        mImageView.setImageBitmap(bitmap);
    }
    

    该jpg文件分辨率为10800*5400,大小为13.82M,结果位图不为空,没有OOM错误,但位图未显示。怎么可能呢?我认为在这种情况下,android应该抛出一个OOM错误,这样我就可以抓住它,再次尝试向下缩放位图。但它只是什么也没显示出来。似乎不合理。有谁知道原因吗?

  • 共有1个答案

    闽阳州
    2023-03-14

    幸运的是,我发现当我将layerType设置为LAYER_TYPE_SOFTWARE时,将显示位图。所以我相信硬件渲染器是有图像大小限制的。

     类似资料:
    • 我已经把我所有的图片从文件夹mipmap移到drawable,因为这里有人说mipmap文件夹只供app图标使用,以便在app mipmap vs.drawable文件夹中使用(答案得到了841个赞)。然而,当我现在想启动我的应用程序时,我得到一个错误消息 在一些实际问题中,人们告诉将图片存储在不同的可绘制文件夹中(参见Android:理解可绘制文件夹),如drawable-xxhdpi或draw

    • 问题内容: 在性能或灵活性方面,使用int vs varbinary存储位掩码是否有任何优势。 出于我的目的,我将始终在这些位掩码上进行读取(不进行写入或更新)。 问题答案: 绝对应该使用(如果需要32个标志)或(对于64个标志)。如果需要更多标志,则可以使用(但您可能还应该问自己,为什么在应用程序中需要这么多标志)。 此外,如果使用整数类型,则可以直接使用标准的按位运算符,而无需将字节数组转换为

    • 我有一个存储库和一个DTO(让我们称之为DataDTO)在DTO里面我有一个字段-(带getter和setter) 我需要解码属性为客户端使用: 问题是它是在多个(很多)控制器中完成的。 我可以在每个控制器中这样做(实际上是在控制器调用的服务中): 但我正试图找到一种更通用的方法。 考虑在getter中执行此操作: 但一般来说,我不确定在DTO中添加逻辑是否是一种好的做法。 考虑一下是否可以扩展r

    • 我从smartwatch收到一个DataMap对象,其中包含两个DataMap对象,一个包含字符串列表(标题、字幕、内容……),另一个包含资产列表 当调用onDataChanged时,我转换字符串中的itemFieldDataMap和资产列表中的itemImagesDataMap。对于每一个资产,我希望转换位图中的资产,并将其放在位图列表中。但我有一个错误: 做不好工作的方法是LoadBitMap