Libgdx + Glide - 无法加载资产的依赖关系

时间:2018-03-27 16:19:55

标签: libgdx android-glide

与涉及此错误的所有问题不同,这个问题有点棘手。

我有以下内容:

使用Glide v3将.png图像下载到我应用程序的内部存储中,使用SimpleTarget获取位图并将其保存到文件中。 事实上我知道这有时会保存一个损坏的文件,可能是因为超时问题。

没关系。

当libgdx的AssetManager尝试渲染此文件时出现问题。

它抛出“无法加载资产的依赖关系”错误。

哪个好。

所以,我需要知道的是:

有没有办法捕获该错误,获取文件名以删除它并开始新的下载调用?

我试图做的事情:

  • 寻找AssetManager函数来检查文件的完整性,我可以检查
  • 使用FileHandleResolver和Gdx.files.absolute(fileName).exists检查文件,但这是无用的,因为文件确实存在且其大小不为0.
  • 捕获GdxRuntimeException,解析它以获取文件名,但这是最糟糕的方式。

提前谢谢你们。

1 个答案:

答案 0 :(得分:2)

您可以将AssetErrorListener添加到AssetManager。这将为您提供无法加载的特定资产的AssetDescriptor以及相关的异常。这两条信息应该可以让您获得重新下载和重试所需的内容。