java - 磁盘上的图像文件大小?

标签 java android image memory bitmap

如果外部存储器中的图像在磁盘上的文件大小大于 400KB,我的应用程序仅执行特定功能,因此我需要知道图像的大小是多少,但这

image.getByteCount() / 1024

仅返回解码后的位图的大小而不是文件大小。我也尝试过使用

image_file.length() / 1024

但是这个方法只返回 0 KB。有没有办法找到文件在磁盘上的实际大小?

最佳答案

Is there anyway to find the file's actual size on the disk?

没有。主要是因为压缩可能会根据位图内容给出不同的结果。所以实际上意味着,您需要创建文件才能弄清楚它有多大。您可以将该文件数据保留在内存中,然后在将该内存转储(或不转储)到文件之前检查磁盘空间。

请注意,如果您需要使用大位图或大图像,则由于内存不足或达到内存限制的风险,此方法可能不起作用。尽管如此,可能还是值得检查一下。

编辑

If the image is already a compressed file in external memory is there a way to find it?

如果磁盘上已有该文件,只需对其调用 length() ( docs )。

关于java - 磁盘上的图像文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48727664/

相关文章:

javascript - 从 Canvas 保存图像时缺少扩展名

java - 在另一个包的接口(interface)文件中使用类

java - 编写我自己的消费者线程——我没有看到什么?

android - 如何在 android 2.2 中使用 wifi 网络将数据从一台设备传输到另一台设备

Android,无法使用 Retrofit 和 RxJava 2 构建应用程序

excel - 是否可以通过 COM 将图像插入到 excel 单元格中?

java - 如何根据测试环境跳过 Selenium TestNG 测试

java - 了解Java父类(super class)和子类构造函数和方法之间的关系

android - 为 Android 应用程序创建通用 header

html - Gmail 阻止电子邮件模板中的小型嵌入式内联图像