磁盘上的图像文件大小



我的应用仅在外部内存中的图像大于400kb上的文件大小时才执行某个功能,因此我需要知道图像的大小是什么,但是此

image.getByteCount() / 1024

只是返回解码位图的大小,而不是文件大小。我还尝试使用

image_file.length() / 1024

但是此方法只是返回0 kb。无论如何是否可以在磁盘上找到文件的实际大小?

无论如何是否可以在磁盘上找到文件的实际大小?

否。主要是因为压缩可能会根据位图内容提供不同的结果。因此,实际上,您需要创建文件以弄清楚它的大小。您可以将该文件数据保存在内存中,然后在将存储器之前(或不(倾倒到文件中检查磁盘空间。

请注意,如果您需要使用大量位图或大图像,则此方法可能不起作用,这是因为有可能耗尽内存或击中内存限制的风险。尽管如此,还是值得检查。

编辑

如果图像已经是外部内存中的压缩文件,是否可以找到它?

如果您已经在磁盘上已有文件,只需在其上调用length()(文档(。

最新更新