gpt4 book ai didi

android - 在 Android 中检查图像加载一半或未加载

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:48 25 4
gpt4 key购买 nike

我正在从 API 获取 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());
}
}
}

现在,我面临的问题是,

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

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

编辑:

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

非常感谢任何帮助。

谢谢。

附加图片以供引用:

enter image description here

最佳答案

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

我看到多项检查,“图像已下载吗?”:

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

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

关于android - 在 Android 中检查图像加载一半或未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30859247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com