微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

我该如何解决这个问题?

将映像保存到设备本地存储中:

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

    File.WriteallBytes (Application.persistentDataPath + "/Layoutimages/abc.jpg", image);

解决方法:

您可以在侧面创建用于执行操作的线程.这是一个例子:

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不是线程安全的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐