我正在构建一些东西,要求用户从外部文件夹加载图像,显示它们并将它们分别分类到不同的文件夹中。
我的问题是,每次加载新图像时,内存使用量都会增加,但永远不会降低。当我以.exe或编辑器运行时会发生这种情况。当我在编辑器中运行它时,即使我停止运行它,内存使用率也不会下降,我必须手动退出统一编辑器并重新启动它。如果我回到图像,我已经看到记忆力没有增加,所以我知道它将这些图像保存在记忆中并且我不知道如何去除它们。 / p>
我已经检查了我在网上找到的所有资源,并尽可能多地跟踪和更改,但我的问题仍在发生。任何帮助都会很棒。
我添加了加载的代码,并将纹理设置为下面的主要纹理。当我注释掉LoadImageIntoTexture行时,不会发生内存泄漏。
IEnumerator LoadImage(string userFolder)
{
WWW newFile = new WWW("file://"+ userFolder + pictures[current]);
yield return newFile;
Destroy(editTex);
editTex = new Texture2D(1920, 1080, TextureFormat.DXT1, false);
newFile.LoadImageIntoTexture(editTex);
newFile.Dispose();
newFile = null;
Resources.UnloadUnusedAssets();
System.GC.Collect();
}