通过 unitywebrequest 下载 png 时的 Unity3D Big Memory Spike

问题描述

在分析器中,设备和编辑器 - 基线移动了 27mb 的差异,但下载的图像大小为 700kb,并被放置到大小为 300x300 和格式为 RGB32 的 RawImage 中。

知道为什么内存会有这么大的变化吗?

这是使用的代码

public class randomscript : MonoBehavIoUr
{
    public RawImage im;


    public void OnClick()
    {
        //SocialPictureCache.LoadImage("https://wallpapercave.com/wp/PPMnOZM.jpg",SocialPictureCache.PictureType.Small,callback);

        StartCoroutine(load("https://wallpapercave.com/wp/PPMnOZM.jpg"));
    }

    public IEnumerator load(string imagePath)
    {
        using (UnityWebRequest request = new UnityWebRequest(imagePath,UnityWebRequest.kHttpVerbGET))
        {
            request.downloadHandler = new DownloadHandlerTexture();

            yield return request.SendWebRequest();

            if (request.isNetworkError || request.isHttpError)
            {
                Debug.LogError("Error while trying to load image from streaming assets - " + imagePath);
                im.gameObject.SetActive(false);
            }
            else
            {
                im.texture = DownloadHandlerTexture.GetContent(request);
            }

            request.dispose();
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...