我正在开发适用于桌面和Android的应用。两个平台上的行为相同。
我正在使用AssetManager从本地路径加载图片(请参阅libGDX file handling)。
AssetManager assetManager = new AssetManager();
FileHandleResolver resolver = new LocalFileHandleResolver();
assetManager.setLoader(Texture.class, new TextureLoader(resolver));
最初,没有可用的图像。因此,如果我单击一个触发assetManager加载图像的按钮,让我们说test.png,它显然会产生一个找不到文件的错误。
com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: test.png
com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: test.png
com.badlogic.gdx.utils.GdxRuntimeException: File not found: test.png (Local)
这里没什么可惊讶的,到目前为止还不错。
但问题在于:我可以下载图片并将其存储在本地,只需点击另一个按钮即可。下载工作没有问题。但是,如果我现在尝试加载下载的图像,则AssetManager仍然会抛出相同的例外。
我在Android和桌面上验证了文件实际已保存。有趣的是,在我重新启动桌面或Android应用程序后,文件成功加载。所以在我看来,有一种"文件刷新"在某处失踪。这些文件存储起来,但不知何故,它们在下载后无法直接使用。
有什么想法吗?