如果外部存储器中的图像的磁盘大小超过400KB,我的应用程序只执行某项功能,所以我需要知道图像的大小,但是这个
image.getByteCount() / 1024
只返回解码后的Bitmap的大小而不是文件大小。我也尝试过使用
image_file.length() / 1024
但此方法只返回0 KB。无论如何都要在磁盘上找到文件的实际大小?
答案 0 :(得分:1)
无论如何都要在磁盘上找到文件的实际大小?
没有。主要是因为压缩可能会产生不同的结果,具体取决于位图内容。所以实际上意味着,您需要创建文件以确定它有多大。您可以将该文件数据保留在内存中,然后在将该内存转储(或不转储)到文件之前检查磁盘空间。
请注意,如果由于内存不足或达到内存限制的风险需要使用大位图或大图像,此方法可能无效。不过,可能值得一试。
修改强>
如果图像已经是外部存储器中的压缩文件,有没有办法找到它?
如果您已将该文件存放在磁盘上,只需在其上调用length()
(docs)。