在Android中检查图像半加载或不加载

Man*_*epa 8 android image

我从API获取Image作为BLOB类型.而且,我保存如下,

public static void setOptimalImage(Context ctx, File file, ImageView iv,
            Point size) {
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(file.getPath(), options);
        if (options.outHeight > 0 && options.outWidth > 0) {
            if (size == null) {
                size = new Point();
                WindowManager wm = (WindowManager) ctx
                        .getSystemService(Context.WINDOW_SERVICE);
                wm.getDefaultDisplay().getSize(size);
            }
            options.inSampleSize = Utils.calculateInSampleSize(options, size.x,
                    size.y);
            options.inJustDecodeBounds = false;
            try {
                iv.setImageBitmap(BitmapFactory.decodeFile(file.getPath(),
                        options));
            } catch (OutOfMemoryError oome) {
                Log.e(Utils.class.getName(),
                        oome.getMessage() == null ? "OutOfMemory error: "
                                + file.getName() : oome.getMessage());
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在,我面临的问题是,

当我保存它时,有时图像只能保存一半.现在,我的问题是,

  • 有没有办法检查文件路径中的图像是否已加载一半(这意味着是否已损坏)?

编辑:

  • 我正在从服务器下载图像.同时,我失去了我的网络连接.在那种情况下,我的图像下载了一半.我能以编程方式获取那些损坏的图像吗?或者知道如何处理这个案例?

任何帮助将非常感激.

谢谢.

附加图片供参考:

在此输入图像描述

Ole*_*ndr 1

我认为您正在研究检测损坏图像的错误方向。使用 API 和请求来管理加载(或半加载)的位图会很容易。您还可以拥有一个文件(甚至更好是一个数据库),其中包含有关下载图像的信息。

我看到多个检查,“图像是否已下载?” :

  • API 应该告诉您要下载的图像的预期大小。加载完成后,您必须检查尺寸并比较它们是否相等
  • 您可以检测您的请求已完成的错误代码。如果完成并显示成功代码,您可以标记图像已加载

在显示期间,您可以检测哪些图像已完全加载。