Unity LoadImageIntoTexture内存泄漏

时间:2015-01-19 19:14:02

标签: c# web memory-leaks unity3d

我正在构建一些东西,要求用户从外部文件夹加载图像,显示它们并将它们分别分类到不同的文件夹中。

我的问题是,每次加载新图像时,内存使用量都会增加,但永远不会降低。当我以.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();
        }

0 个答案:

没有答案