diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/DownloadNormalFileOperation.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/DownloadNormalFileOperation.cs index a4d6f77b..12190fbe 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/DownloadNormalFileOperation.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/DownloadNormalFileOperation.cs @@ -168,12 +168,15 @@ namespace YooAsset { while (true) { - //TODO 如果是导入或解压本地文件,执行等待完毕 + //TODO 如果是导入或解压本地文件,执行等待完毕,该操作会挂起主线程! if (_isReuqestLocalFile) { InternalUpdate(); if (IsDone) break; + + // 短暂休眠避免完全卡死 + System.Threading.Thread.Sleep(1); } else { diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/DownloadResumeFileOperation.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/DownloadResumeFileOperation.cs index a96fc1a7..9bff229c 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/DownloadResumeFileOperation.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/DownloadResumeFileOperation.cs @@ -187,12 +187,15 @@ namespace YooAsset { while (true) { - //TODO 如果是导入或解压本地文件,执行等待完毕 + //TODO 如果是导入或解压本地文件,执行等待完毕,该操作会挂起主线程! if (_isReuqestLocalFile) { InternalUpdate(); if (IsDone) break; + + // 短暂休眠避免完全卡死 + System.Threading.Thread.Sleep(1); } else { diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/VerifyTempFileOperation.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/VerifyTempFileOperation.cs index 032518c0..a3eed620 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/VerifyTempFileOperation.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/Operation/internal/VerifyTempFileOperation.cs @@ -71,10 +71,13 @@ namespace YooAsset { while (true) { - //TODO 等待子线程验证文件完毕,该操作会挂起主线程 + //TODO 等待子线程验证文件完毕,该操作会挂起主线程! InternalUpdate(); if (IsDone) break; + + // 短暂休眠避免完全卡死 + System.Threading.Thread.Sleep(1); } }