0

我们在我们的应用程序中使用 Box oAuth Api 来下载文件并将其上传到我们的 Box.com 帐户。我能够成功下载和上传最大 200 MB 的文件。但是当尝试下载大小为 3.5 GB 的文件时,应用程序没有响应并且占用了大部分 RAM 使用量(2,741,900)。

我自己手动拉下文件,大约花了 15 分钟,从 Box 中删除它,然后重新启动我的下载服务。然后,代码仔细检查了 Box 上所有堆积的文件,没有出现任何问题。虽然,我认为内存的静止状态利用率仍然很高(115MB),但更好。

知道为什么在复制文件时会消耗内存。

那是我们可以看的吗?

请帮助我。

在此先感谢您的时间。

谢谢和问候, Satish.Neelakantam

4

1 回答 1

2

问题出在 WebClient.DownloadFile,而不是 Box API。考虑切换到基于流的解决方案

编辑

除了使用流之外,您还可以考虑对文件/ID/内容的请求将始终导致302 Found重定向到特定的下载 URL。此 URL 将接受Range标头,您可以使用该标头指定要获取的特定字节范围。这使得恢复失败的下载成为可能。请注意,下载 URL 不是静态的,因此您应该在每次Range读取操作之前调用 files/ID/content 以确保您的下载 URL 有效。

于 2013-07-08T15:14:00.590 回答