gpt4 book ai didi

c# - 下载图像并将其保存到 Application.persistentDataPath 会挂起应用程序

转载 作者:行者123 更新时间:2023-11-30 15:25:58 27 4
gpt4 key购买 nike

我写了一个游戏,可以从服务器下载图像,然后将它们存储在 Application.persistentDataPath 中。

我的问题是在保存少量图像时场景挂起,保存完成后,它会执行其余代码。

我该如何解决这个问题?

将图像保存到设备本地存储:

    if (File.Exists (Application.persistentDataPath + "/LayoutImages/")) {
Debug.Log (imagesPathPrefix + " already exists.");
return;
}

File.WriteAllBytes (Application.persistentDataPath + "/LayoutImages/abc.jpg", image);

最佳答案

您可以创建一个Thread 来执行您的操作。这是一个例子:

class FileDownloader
{
struct parameterObject
{
public string url;
public string savePath;
}

static void downloadfunction(object data)
{
parameterObject obj = (parameterObject)data;

if (File.Exists(obj.savePath))
return;

using (WebClient Client = new WebClient())
{
Client.DownloadFile(obj.url, obj.savePath);
}
}

public static void downloadfromURL(string url, string savePath)
{

parameterObject obj = new parameterObject();
obj.url = url;
obj.savePath = savePath;

Thread thread = new Thread(FileDownloader.downloadfunction);
thread.Start(obj);

}
}

注意:如果您要在下载后立即使用图像,请不要使用线程。 Unity3d 不是线程安全的。

关于c# - 下载图像并将其保存到 Application.persistentDataPath 会挂起应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30189145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com