如果外部存储器中的图像在磁盘上的文件大小大于 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/