From 0a858ed58b484a23d01a8232e151dd8efa145561 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 22 八月 2018 14:57:46 +0800
Subject: [PATCH] 1621 IOS分包资源下载弹框,点击暂停游戏崩溃
---
System/AssetVersion/RemoteFile.cs | 101 +++++++++++++++++++++++++++++---------------------
1 files changed, 59 insertions(+), 42 deletions(-)
diff --git a/System/AssetVersion/RemoteFile.cs b/System/AssetVersion/RemoteFile.cs
index 4467c58..cf9829e 100644
--- a/System/AssetVersion/RemoteFile.cs
+++ b/System/AssetVersion/RemoteFile.cs
@@ -72,7 +72,7 @@
}
}
- AssetVersion assetVersion;
+ public AssetVersion assetVersion { get; private set; }
protected string mRemoteFile;
protected string localFile;
bool speedLimit = false;
@@ -123,6 +123,7 @@
public static void Prepare()
{
+ gDownloadIsRunningCount = 0;
gStartTickcount = System.Environment.TickCount;
TotalDownloadedSize = 0L;
downloadSpeedRef = 0f;
@@ -153,50 +154,57 @@
}
stop = true;
-
- if (headRequest != null)
+ try
{
- headRequest.Abort();
- headRequest = null;
+ if (headRequest != null)
+ {
+ headRequest.Abort();
+ headRequest = null;
+ }
+
+ if (headResponse != null)
+ {
+ headResponse.Close();
+ headResponse = null;
+ }
+
+ if (fileRequest != null)
+ {
+ fileRequest.Abort();
+ fileRequest = null;
+ }
+
+ if (fileResponse != null)
+ {
+ fileResponse.Close();
+ fileResponse = null;
+ }
+
+ if (fs != null)
+ {
+ fs.Flush();
+ fs.Close();
+ fs = null;
+ }
+
+ if (inStream != null)
+ {
+ inStream.Close();
+ inStream = null;
+ }
}
-
- if (headResponse != null)
+ catch (Exception ex)
{
- headResponse.Close();
- headResponse = null;
+ Debug.Log(ex);
}
-
- if (fileRequest != null)
+ finally
{
- fileRequest.Abort();
- fileRequest = null;
- }
-
- if (fileResponse != null)
- {
- fileResponse.Close();
- fileResponse = null;
- }
-
- if (fs != null)
- {
- fs.Flush();
- fs.Close();
- fs = null;
- }
-
- if (inStream != null)
- {
- inStream.Close();
- inStream = null;
- }
-
- onCompleted = null;
- mHadError = false;
-
- if (state == State.Working)
- {
- gDownloadIsRunningCount--;
+ onCompleted = null;
+ mHadError = false;
+ if (state == State.Working)
+ {
+ gDownloadIsRunningCount--;
+ }
}
}
@@ -324,7 +332,11 @@
headResponse.Close();
headResponse = null;
}
- headRequest.Abort();
+ if (headRequest != null)
+ {
+ headRequest.Abort();
+ headRequest = null;
+ }
}
}, headRequest);
@@ -373,7 +385,12 @@
if (mHadError)
{
DebugEx.LogWarningFormat("鑾峰彇杩滅▼鏂囦欢{0} 淇℃伅澶辫触!", mRemoteFile);
- headRequest.Abort();
+ if (headRequest != null)
+ {
+ headRequest.Abort();
+ headRequest = null;
+ }
+
done = true;
gDownloadIsRunningCount--;
yield break;
--
Gitblit v1.8.0