【问题标题】:Image file size on disk?磁盘上的图像文件大小?
【发布时间】:2018-02-11 02:23:39
【问题描述】:

如果外部内存中的图像在磁盘上的文件大小大于 400KB,我的应用程序只会执行某个功能,所以我需要知道图像的大小是多少,但是这个

image.getByteCount() / 1024

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

image_file.length() / 1024

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

【问题讨论】:

    标签: java android image memory bitmap


    【解决方案1】:

    有没有办法在磁盘上找到文件的实际大小?

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

    请注意,如果您需要处理大位图或大图像,因为内存不足或达到内存限制的风险,此方法可能不起作用。不过,可能值得检查。

    编辑

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

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

    【讨论】:

    • 如果图像已经是外部存储器中的压缩文件,有没有办法找到它?
    • @CalebWhittington 如果你知道图片的实际位置,为什么不直接stat <it>?只需打开文件路径和file.length() 即可获取它。
    猜你喜欢
    • 2020-10-17
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 2019-03-06
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多