磁盘上的映像文件大小?

时间:2018-02-11 02:23:40

标签: java android image memory bitmap

如果外部存储器中的图像的磁盘大小超过400KB,我的应用程序只执行某项功能,所以我需要知道图像的大小,但是这个

image.getByteCount() / 1024

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

image_file.length() / 1024

但此方法只返回0 KB。无论如何都要在磁盘上找到文件的实际大小?

1 个答案:

答案 0 :(得分:1)

  

无论如何都要在磁盘上找到文件的实际大小?

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

请注意,如果由于内存不足或达到内存限制的风险需要使用大位图或大图像,此方法可能无效。不过,可能值得一试。

修改

  

如果图像已经是外部存储器中的压缩文件,有没有办法找到它?

如果您已将该文件存放在磁盘上,只需在其上调用length()docs)。